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 始まりであることに注意し、範囲外のインデックスを指定しないよう気をつけましょう。
-
C#のCollectionに要素が含まれているかどうかを確認する方法
C#でコレクション(Collection)内に特定の要素が存在するかどうかを確認するには、Contains()メソッドを使用します。このメソッドは、指定した要素がコレクション内に見つかった場合は true、見つからなかった場合は false を返します。以下に具体的なコード例を示します。例1:整数のコレクションの場合using System; using System.Collections.ObjectModel; public class Demo { public static void Main(){  
-
C#でHashSetに指定された要素が含まれているか確認する方法
C#のHashSet<T>に特定の要素が含まれているかどうかを確認するには、Contains()メソッドを使用します。このメソッドは、指定した要素がHashSet内に存在する場合はtrue、存在しない場合はfalseを返します。Contains()メソッドの基本構文public bool Contains (T item);引数には検索対象の要素を渡します。HashSetはハッシュテーブルを基盤としているため、要素の検索はO(1)の計算量で実行でき、非常に高速です。例1:数値型のHashSetでContains()を使う以下は、int型のHashSetに対してContains()メ