C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でリスト内の要素のインデックスを検索する方法

C#のList内から特定の要素がどの位置(インデックス)にあるかを調べたい場合、IndexOf()メソッドを使用します。この記事では、基本的な使い方をサンプルコードとともに解説します。

リストの作成と要素の追加

まず、Listを作成して整数の要素を追加します。

List<int> val = new List<int>();

// 整数の要素を追加
val.Add(35);
val.Add(55);
val.Add(68);

この時点で、リストには「35」「55」「68」の3つの要素が格納されています。それぞれのインデックスは先頭から順に「0」「1」「2」となります。

IndexOf()メソッドでインデックスを取得

例えば、要素「68」のインデックスを調べたい場合は、以下のようにIndexOf()メソッドを呼び出します。

int index = val.IndexOf(68);

IndexOf()メソッドは、引数に指定した値がリスト内で最初に見つかった位置のインデックスを返します。該当する要素が存在しない場合は「-1」が返されるため、検索結果の判定にも利用できます。

サンプルコード全体

ここまでの処理をまとめた完全なコード例がこちらです。

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        List<int> val = new List<int>();

        // 整数の要素を追加
        val.Add(35);
        val.Add(55);
        val.Add(68);

        // 要素68のインデックスを検索
        int index = val.IndexOf(68);

        Console.WriteLine(index);
    }
}

実行結果

2

要素「68」はリストの3番目に格納されているため、0から数えてインデックス「2」が出力されます。

補足:文字列リストの場合も同様

IndexOf()メソッドは、string型など他の型のListでも同じように使用できます。また、大文字小文字を区別せずに文字列を検索したい場合は、FindIndex()メソッドとラムダ式を組み合わせる方法もあります。

  1. 【Python入門】リスト内で2番目に大きい数値を見つける3つの方法

    はじめに この記事では、Pythonを使ってリスト内の2番目に大きい数値(次に大きい値)を見つける方法を、3つの異なるアプローチで解説します。初心者にもわかりやすいように、各手法の考え方・サンプルコード・実行結果を順番に紹介していきます。 問題の定義 問題: 与えられたリストの中から、2番目に大きい数値を求めて表示してください。 例えば [11, 22, 1, 2, 5, 67, 21, 32] というリストが与えられた場合、最大値は67なので、答えは 32 となります。 アプローチ1:set()関数とremove()関数を使う方法 まず、set() を使ってリストから重複する要素を取り除

  2. Pythonでリスト内の要素のインデックスを取得する方法

    index()メソッドで最初の出現位置を取得する リスト(文字列やタプルなど、他のシーケンス型でも同様)に用意されている index() メソッドを使うと、特定の要素が最初に出現する位置(インデックス)を簡単に見つけることができます。 >>> L1=[a, b, c, a, x] >>> L1 [a, b, c, a, x] >>> L1.index(a) 0 この例では、リスト L1 の中で a が最初に出現するのはインデックス 0 の位置であるため、0 が返されます。なお、指定した要素がリスト内に存在しない場合は ValueError