C#のCollectionに要素が含まれているかどうかを確認する方法
C#でコレクション(Collection)内に特定の要素が存在するかどうかを確認するには、Contains()メソッドを使用します。このメソッドは、指定した要素がコレクション内に見つかった場合は true、見つからなかった場合は false を返します。
以下に具体的なコード例を示します。
例1:整数のコレクションの場合
using System;
using System.Collections.ObjectModel;
public class Demo {
public static void Main(){
Collection<int> col = new Collection<int>();
col.Add(10);
col.Add(20);
col.Add(30);
col.Add(40);
col.Add(50);
col.Add(60);
col.Add(70);
col.Add(80);
Console.WriteLine("コレクション内の要素一覧...");
foreach(int val in col){
Console.WriteLine(val);
}
Console.WriteLine("コレクションに要素 70 は含まれているか? = " + col.Contains(70));
}
}出力結果
コレクション内の要素一覧... 10 20 30 40 50 60 70 80 コレクションに要素 70 は含まれているか? = True
上記の例では、コレクションに 70 が追加されているため、Contains(70) は True を返します。
例2:文字列のコレクションの場合
次に、文字列型のコレクションでの動作を確認してみましょう。
using System;
using System.Collections.ObjectModel;
public class Demo {
public static void Main(){
Collection<string> col = new Collection<string>();
col.Add("John");
col.Add("Gary");
col.Add("Tom");
col.Add("Brad");
col.Add("Katie");
col.Add("Andy");
col.Add("Nathan");
Console.WriteLine("コレクション内の要素一覧...");
foreach(string val in col){
Console.WriteLine(val);
}
Console.WriteLine("コレクションに値 Bradley は含まれているか? = " + col.Contains("Bradley"));
}
}出力結果
コレクション内の要素一覧... John Gary Tom Brad Katie Andy Nathan コレクションに値 Bradley は含まれているか? = False
この例では、コレクションには Brad という要素は存在しますが、完全一致する Bradley は存在しないため、Contains("Bradley") は False を返します。文字列の比較では部分一致ではなく完全一致で判定される点に注意してください。
ポイントまとめ
Contains()メソッドは、要素がコレクション内に存在するかどうかを判定し、結果をbool値(true / false)で返します。- 参照型(stringなど)の場合は、既定の等価比較子による完全一致で判定されます。
System.Collections.ObjectModel名前空間を using で宣言して使用します。
-
C#でHashSetに指定された要素が含まれているか確認する方法
C#のHashSet<T>に特定の要素が含まれているかどうかを確認するには、Contains()メソッドを使用します。このメソッドは、指定した要素がHashSet内に存在する場合はtrue、存在しない場合はfalseを返します。Contains()メソッドの基本構文public bool Contains (T item);引数には検索対象の要素を渡します。HashSetはハッシュテーブルを基盤としているため、要素の検索はO(1)の計算量で実行でき、非常に高速です。例1:数値型のHashSetでContains()を使う以下は、int型のHashSetに対してContains()メ
-
C#でHashSetと指定されたコレクションに共通の要素があるか確認する方法
C#において、HashSetと指定されたコレクションとの間に共通の要素が存在するかどうかを確認したい場合は、Overlaps() メソッドを使用します。Overlaps() メソッドは、HashSetと引数で渡されたコレクションの間に共通する要素が1つでも存在すれば true を返し、まったく存在しなければ false を返します。このメソッドは System.Collections.Generic 名前空間に含まれており、引数として IEnumerable<T> 型のコレクションを受け取ります。例1:int型のHashSetの場合まずは、整数値を格納した2つのHashSetで共通