リストのインデックスを取得する方法の1つに「IndexOf」メソッドがあります。
サンプルコードを交えて解説したいと思います。
説明
リストから指定したオブジェクトを検索し、最も小さいインデックス番号を返す。
ポイント
・取得できるインデックス番号は1つ
・指定したオブジェクトがない場合は-1を返す
最も大きいインデックスを取得したい場合は「LastIndexOf」を使います。
funcording.hatenablog.com
例
コード
using System; using System.Collections.Generic; namespace Sample { /// <summary> /// メインプログラム /// </summary> public class Program { /// <summary> /// IndexOfの使い方 /// </summary> static void Main() { // リストを生成 var list = new List<string>(); // リストに値を追加 list.Add("A"); // 0 list.Add("B"); // 1 list.Add("C"); // 2 list.Add("A"); // 3 list.Add("B"); // 4 list.Add("C"); // 5 // Cのインデックスを取得 int result1 = list.IndexOf("C"); Console.WriteLine("Cのインデックス : " + result1); // Dのインデックスを取得 int result2 = list.IndexOf("D"); Console.WriteLine("Dのインデックス : " + result2); } } }
出力
Cのインデックス : 2 Dのインデックス : -1
先頭から指定したオブジェクトを検索し、最初に見つかったインデックスを返すイメージ。
C :リストの3番目にある → 2が出力
D :リストにない → -1が出力