[C#]リスト(List)の要素が何番目かを確認するには?

C#

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

List(リスト)の要素が何番目かを確認する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

List(リスト)の要素が何番目かを確認する方法は、2つあります。

IndexOf()メソッド

1つは、IndexOf()メソッドを使う方法です。

まず、ListからIndexOfメソッドを呼び出します。

そして、IndexOfメソッドの引数に要素を指定します。

list.IndexOf(item);

IndexOf()メソッドは、リスト内の引数に指定した要素が何番目かを結果として返します。

IndexOf()で返すのは、要素のインデックスです。

なので、要素の番号は、「0, 1, 2, ・・・」のように、0からカウントします。

また、指定した要素が複数存在する場合は、先頭の要素のインデックスが返されます。

IndexOf()の第2引数に指定した要素が配列に存在しない場合は、「-1」が返されます。

使用例

using System;
using System.Collections.Generic;
public class Example 
{
   	public static void Main() 
	{
		var myList = new List<int>() { 1, 2, 3, 4, 5};
		
		var index1 = myList.IndexOf(2);
		var index2 = myList.IndexOf(5);

		Console.WriteLine(index1); //1
		Console.WriteLine(index2); //4
	}
}

FindIndex()メソッド

もう1つは、FindIndex()メソッドを使う方法です。

まず、リストからFindIndex()メソッドを呼び出します。

FindIndexメソッドの引数に、引数を1つ持つラムダ式を指定します。

そして、FindIndex()メソッドの引数のラムダ式で「引数 == 要素」を返します。

list.FindIndex(value => value == item);

使用例

using System;
using System.Collections.Generic;

public class Example
{   
	public static void Main()
	{
		List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
		
		var index1 = numbers.FindIndex(item => item == 3);
		var index2 = numbers.FindIndex(item => item == 5);
		
		Console.WriteLine(index1); //2
		Console.WriteLine(index2); //4
 	}
}
スポンサーリンク

まとめ

List(リスト)の要素が何番目かを確認する方法は、次の2つです。

  • IndexOf()メソッドを使う方法
  • FindIndex()を使う方法

コメント

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