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

C# の Collection で指定したインデックスの要素を取得・設定する方法

C# の Collection<T> クラスでは、インデクサーを使うことで、指定した位置(インデックス)にある要素を取得したり、新しい値に設定(更新)したりできます。この記事では、実際のコード例と出力結果をもとに、その使い方をわかりやすく解説します。

例1:指定したインデックスの要素を取得する

まずは、Collection 内の任意のインデックスにある要素を読み取る基本例です。

using System;
using System.Collections.ObjectModel;
public class Demo {
    public static void Main() {
        Collection<string> col = new Collection<string>();
        col.Add("Laptop");
        col.Add("Desktop");
        col.Add("Notebook");
        col.Add("Ultrabook");
        col.Add("Tablet");
        col.Add("Headphone");
        col.Add("Speaker");
        Console.WriteLine("Elements in Collection...");
        foreach(string str in col) {
            Console.WriteLine(str);
        }
        Console.WriteLine("Element at index 3 = " + col[3]);
        Console.WriteLine("Element at index 4 = " + col[4]);
    }
}

出力結果

このプログラムを実行すると、次のような出力が得られます。

Elements in Collection...
Laptop
Desktop
Notebook
Ultrabook
Tablet
Headphone
Speaker
Element at index 3 = Ultrabook
Element at index 4 = Tablet

解説

上記の例では、文字列型の Collection を作成し、7つの要素を順番に追加しています。重要なポイントは、インデックスが 0 から始まるという点です。そのため、col[3] は4番目の要素である「Ultrabook」を、col[4] は5番目の要素である「Tablet」を返します。

例2:指定したインデックスの要素を設定(更新)する

次に、インデクサーを使って既存の要素を別の値で上書きする例を見てみましょう。

using System;
using System.Collections.ObjectModel;
public class Demo {
    public static void Main() {
        Collection<string> col = new Collection<string>();
        col.Add("Laptop");
        col.Add("Desktop");
        col.Add("Notebook");
        col.Add("Ultrabook");
        col.Add("Tablet");
        col.Add("Headphone");
        col.Add("Speaker");
        Console.WriteLine("Elements in Collection...");
        foreach(string str in col) {
            Console.WriteLine(str);
        }
        Console.WriteLine("Element at index 3 = " + col[3]);
        col[3] = "SSD";
        Console.WriteLine("Element at index 3 (Updated) = " + col[3]);
    }
}

出力結果

このプログラムを実行すると、次のような出力が得られます。

Elements in Collection...
Laptop
Desktop
Notebook
Ultrabook
Tablet
Headphone
Speaker
Element at index 3 = Ultrabook
Element at index 3 (Updated) = SSD

解説

col[3] = "SSD"; のようにインデクサーへ値を代入すると、該当する位置の要素が新しい値に置き換えられます。実行後には、元々「Ultrabook」だったインデックス3の要素が「SSD」に更新されていることが確認できます。

まとめ

C# の Collection<T> では、配列と同じ感覚で col[index] という構文により、要素の取得設定の両方を行えます。インデックスは 0 始まりであることに注意し、範囲外のインデックスを指定しないよう気をつけましょう。

  1. C#のCollectionに要素が含まれているかどうかを確認する方法

    C#でコレクション(Collection)内に特定の要素が存在するかどうかを確認するには、Contains()メソッドを使用します。このメソッドは、指定した要素がコレクション内に見つかった場合は true、見つからなかった場合は false を返します。以下に具体的なコード例を示します。例1:整数のコレクションの場合using System; using System.Collections.ObjectModel; public class Demo {     public static void Main(){    

  2. C#でHashSetに指定された要素が含まれているか確認する方法

    C#のHashSet<T>に特定の要素が含まれているかどうかを確認するには、Contains()メソッドを使用します。このメソッドは、指定した要素がHashSet内に存在する場合はtrue、存在しない場合はfalseを返します。Contains()メソッドの基本構文public bool Contains (T item);引数には検索対象の要素を渡します。HashSetはハッシュテーブルを基盤としているため、要素の検索はO(1)の計算量で実行でき、非常に高速です。例1:数値型のHashSetでContains()を使う以下は、int型のHashSetに対してContains()メ