[C#]配列の要素のインデックスを後ろから検索するには?

C#

どうも、ちょげ(@chogetarou)です。

配列(array)の要素のインデックスを後ろから検索する方法を紹介します。

スポンサーリンク

方法

配列(array)の要素のインデックスを後ろから検索する方法は、2つあります。

Array.LastIndexOf()

ひとつは、Array.LastIndexOf()を使う方法です。

まず、Array.LastIndexOf()を呼び出します。

そして、Array.LastIndexOf()の第1引数に配列、第2引数にインデックスを取得する要素を指定します。

//arr=対象の配列, item=要素
int result = Array.LastIndexOf(arr, item);

上記のArray.LastIndexOf()は、配列の要素のインデックスを後ろから検索します。

使用例

using System;
 
public class Example
{
	public static void Main()
	{
		string[] nums = new string[5] { "one", "two", "three", "four", "five" };
		
		int result = Array.LastIndexOf(nums, "four");
		int result2 = Array.LastIndexOf(nums, "two");
		
		Console.WriteLine(result);
		Console.WriteLine(result2);
	}
}
出力:
3
1

Array.FindLastIndex()

もうひとつは、Array.FindLastIndex()を使う方法です。

まず、Array.FindLastIndex()を呼び出します。

そして、Array.FindLastIndex()の第1引数に配列、第2引数に「引数 => 引数 == 要素」のラムダ式を指定します。

//arr=対象の配列, element=要素
int result = Array.FindLastIndex(arr, item => item == element);

上記のArray.FindLastIndex()は、配列の要素のインデックスを後ろから検索します。

使用例

using System;
 
public class Example
{
	public static void Main()
	{
		string[] nums = new string[5] { "one", "two", "three", "four", "five" };
		
		int result = Array.FindLastIndex(nums, item => item == "four");
		int result2 = Array.FindLastIndex(nums, item => item == "two");
		
		Console.WriteLine(result);
		Console.WriteLine(result2);
	}
}
出力:
3
1

まとめ

配列(array)の要素のインデックスを後ろから検索する方法は、次の2つです。

  • Array.LastIndexOf()を使う方法
    int result = Array.LastIndexOf(arr, item);
  • Array.FindLastIndex()を使う方法
    int result = Array.FindLastIndex(arr, item => item == element);

コメント

タイトルとURLをコピーしました