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

C#でSortedListオブジェクトに特定の値が含まれているかどうかを確認する方法

C#のSortedListオブジェクトに特定の値が含まれているかどうかを確認するには、ContainsValueメソッドを使用します。このメソッドは、指定した値がSortedList内に存在する場合はtrue、存在しない場合はfalseを返します。

以下に具体的なコード例を示します。

コード例1

using System;
using System.Collections;
public class Demo {
   public static void Main(){
      SortedList list = new SortedList();
      list.Add("1", "One");
      list.Add("2", "Two");
      list.Add("3", "Three");
      list.Add("4", "Four");
      list.Add("5", "Five");
      list.Add("6", "Six");
      list.Add("7", "Seven");
      list.Add("8", "Eight");
      Console.WriteLine("Key and Value of SortedList....");
      foreach(DictionaryEntry k in list )
      Console.WriteLine("Key: {0}, Value: {1}", k.Key , k.Value );
      Console.WriteLine("Is the SortedList having the value? "+list.ContainsValue("Five"));
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Key and Value of SortedList....
Key: 1, Value: One
Key: 2, Value: Two
Key: 3, Value: Three
Key: 4, Value: Four
Key: 5, Value: Five
Key: 6, Value: Six
Key: 7, Value: Seven
Key: 8, Value: Eight
Is the SortedList having the value? True

この例では、値「Five」がSortedListに存在するため、ContainsValueメソッドはTrueを返しています。

コード例2

次に、存在しない値を指定した場合の例を見てみましょう。

using System;
using System.Collections;
public class Demo {
   public static void Main(){
      SortedList list = new SortedList();
      list.Add("1", "One");
      list.Add("2", "Two");
      list.Add("3", "Three");
      list.Add("4", "Four");
      list.Add("5", "Five");
      list.Add("6", "Six");
      list.Add("7", "Seven");
      list.Add("8", "Eight");
      Console.WriteLine("Key and Value of SortedList....");
      foreach(DictionaryEntry k in list )
      Console.WriteLine("Key: {0}, Value: {1}", k.Key , k.Value );
      Console.WriteLine("Is the SortedList having the value? "+list.ContainsValue("Tenth"));
   }
}

出力結果

このコードを実行すると、次の出力が得られます。

Key and Value of SortedList....
Key: 1, Value: One
Key: 2, Value: Two
Key: 3, Value: Three
Key: 4, Value: Four
Key: 5, Value: Five
Key: 6, Value: Six
Key: 7, Value: Seven
Key: 8, Value: Eight
Is the SortedList having the value? False

値「Tenth」はSortedListに存在しないため、ContainsValueメソッドはFalseを返します。

補足:ContainsValueとContainsKeyの違い

なお、SortedListにはキーの存在を確認するContainsKeyメソッド(またはContainsメソッド)もあります。ContainsValueは値の検索を行うため、線形探索となり要素数が多い場合にはパフォーマンスに注意が必要です。一方、ContainsKeyはキーによる検索のため高速に動作します。用途に応じて適切なメソッドを選択しましょう。

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