C#のSortedListに特定のキーが含まれているか確認する方法
C# の SortedList オブジェクトに特定のキーが含まれているかどうかを確認するには、Contains() メソッドを使用します。このメソッドは、指定したキーが SortedList 内に存在する場合は true、存在しない場合は false を返します。
Contains() メソッドは ContainsKey() メソッドと同等の動作をします。なお、値の存在を確認したい場合には ContainsValue() メソッドを使用します。
例1
using System;
using System.Collections;
public class Demo {
public static void Main() {
SortedList list = new SortedList();
list.Add("A", "Books");
list.Add("B", "Electronics");
list.Add("C", "Appliances");
list.Add("D", "Pet Supplies");
list.Add("E", "Clothing");
list.Add("F", "Footwear");
Console.WriteLine("キー E に関連付けられた値 = " + list["E"]);
list["E"] = "HDD";
Console.WriteLine("キー E に関連付けられた値 [更新後] = " + list["E"]);
Console.Write("リストにキー C は存在するか? = " + list.Contains("C"));
}
}
出力
上記のコードを実行すると、次のような出力が得られます −
キー E に関連付けられた値 = Clothing キー E に関連付けられた値 [更新後] = HDD リストにキー C は存在するか? = True
例2
続いて、もう少し要素数の多い別の例を見てみましょう −
using System;
using System.Collections;
public class Demo {
public static void Main(String[] args) {
SortedList sortedList = new SortedList();
sortedList.Add("A", "1");
sortedList.Add("B", "2");
sortedList.Add("C", "3");
sortedList.Add("D", "4");
sortedList.Add("E", "5");
sortedList.Add("F", "6");
sortedList.Add("G", "7");
sortedList.Add("H", "8");
sortedList.Add("I", "9");
sortedList.Add("J", "10");
Console.WriteLine("SortedList の要素...");
foreach(DictionaryEntry d in sortedList) {
Console.WriteLine("キー = " + d.Key + ", 値 = " + d.Value);
}
Console.WriteLine("SortedList のキーと値のペア数 = " + sortedList.Count);
// インデックス 3 の要素(キー D)を削除
sortedList.RemoveAt(3);
Console.WriteLine("\nSortedList を反復処理する列挙子...");
IDictionaryEnumerator demoEnum = sortedList.GetEnumerator();
while (demoEnum.MoveNext())
Console.WriteLine("キー = " + demoEnum.Key + ", 値 = " + demoEnum.Value);
Console.WriteLine("SortedList のキーと値のペア数 [更新後] = " + sortedList.Count);
Console.WriteLine("\nリストにキー C は存在するか? = " + sortedList.Contains("C"));
Console.WriteLine("リストにキー M は存在するか? = " + sortedList.Contains("M"));
}
}
出力
上記のコードを実行すると、次のような出力が得られます −
SortedList の要素... キー = A, 値 = 1 キー = B, 値 = 2 キー = C, 値 = 3 キー = D, 値 = 4 キー = E, 値 = 5 キー = F, 値 = 6 キー = G, 値 = 7 キー = H, 値 = 8 キー = I, 値 = 9 キー = J, 値 = 10 SortedList のキーと値のペア数 = 10 SortedList を反復処理する列挙子... キー = A, 値 = 1 キー = B, 値 = 2 キー = C, 値 = 3 キー = E, 値 = 5 キー = F, 値 = 6 キー = G, 値 = 7 キー = H, 値 = 8 キー = I, 値 = 9 キー = J, 値 = 10 SortedList のキーと値のペア数 [更新後] = 9 リストにキー C は存在するか? = True リストにキー M は存在するか? = False
ポイントのまとめ
Contains(key)は、指定したキーが SortedList に存在するかどうかを判定し、結果を bool 値(true / false)で返します。- 例2では
RemoveAt(3)によってインデックス 3 の要素(キー「D」)が削除されるため、2回目の列挙ではキー D が表示されず、要素数も 10 から 9 に減っています。 - 存在しないキー「M」に対しては
falseが返されることが確認できます。
-
【C#】SortedSetに特定の要素が含まれているか確認する方法(Containsメソッドの使い方)
C#のSortedSet<T>クラスには、指定した要素がセット内に存在するかどうかを判定するためのContainsメソッドが用意されています。この記事では、Containsメソッドを使った具体的なコード例とその実行結果を紹介します。ContainsメソッドとはContains(T item)は、SortedSet内に指定した要素が存在する場合はtrue、存在しない場合はfalseを返すメソッドです。SortedSetは内部でソートされた状態を維持しているため、高速な検索が可能です。サンプルコード1:文字列のSortedSetで要素を検索するまずは、文字列型のSortedSetに対し
-
C#でHashtable(ハッシュテーブル)に特定の値が含まれているか確認する方法
C#のHashtableに特定の値(Value)が含まれているかどうかを確認するには、ContainsValueメソッドを使用します。このメソッドは、指定した値がHashtable内に存在する場合はtrue、存在しない場合はfalseを返します。以下に具体的なコード例を示します。サンプルコード1using System; using System.Collections; public class Demo { public static void Main(){ Hashtable hash = new Hashtable(); hash.Add(1, A);