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

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 が返されることが確認できます。
  1. 【C#】SortedSetに特定の要素が含まれているか確認する方法(Containsメソッドの使い方)

    C#のSortedSet<T>クラスには、指定した要素がセット内に存在するかどうかを判定するためのContainsメソッドが用意されています。この記事では、Containsメソッドを使った具体的なコード例とその実行結果を紹介します。ContainsメソッドとはContains(T item)は、SortedSet内に指定した要素が存在する場合はtrue、存在しない場合はfalseを返すメソッドです。SortedSetは内部でソートされた状態を維持しているため、高速な検索が可能です。サンプルコード1:文字列のSortedSetで要素を検索するまずは、文字列型のSortedSetに対し

  2. 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);