Fun Coding

学んだことを記録していきます!

【C#】リストのインデックスを取得(IndexOf)

リストのインデックスを取得する方法の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が出力