[C#]配列の特定の値のインデックスを検索するには?

C#

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

配列(array)の特定の値のインデックスを検索する方法を紹介します。

スポンサーリンク

方法

配列(array)の特定の値のインデックスを検索する方法は、2つあります。

Array.IndexOf()

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

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

Array.IndexOf()の第1引数に配列、第2引数に値を指定します。

//arr=対象の配列, value=値
int result = Array.IndexOf(arr, value);

上記のIndexOf()は、配列内で第2引数の値のインデックスを検索します。

IndexOf()で指定した値が配列内に存在しない場合、IndexOf()は「-1」を返します。

使用例

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

Array.FindIndex()

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

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

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

//arr=対象の配列, value=値
int result = Array.FindIndex(arr, item => item == value);

上記のFindIndex()は、配列内で値のインデックスを検索します。

指定した値が配列内に存在しない場合、FindIndex()は「-1」を返します。

使用例

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

まとめ

配列(array)の特定の値のインデックスを検索する方法は、次の2つです。

  • Array.IndexOf()を使う方法
    int result = Array.IndexOf(arr, value);
  • FindIndex()を使う方法
    int result = Array.FindIndex(arr, item => item == value);

コメント

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