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

C#でSortedListオブジェクトが固定サイズかどうかを確認する方法

C#のSortedListオブジェクトが固定サイズ(IsFixedSize)かどうかを確認するには、IsFixedSizeプロパティを使用します。このプロパティは、SortedListのサイズが固定されている場合にtrue、要素の追加や削除が可能な場合にfalseを返します。

例1:IsFixedSizeプロパティの基本的な使い方

以下のコードでは、SortedListに複数のキーと値を追加した後、IsFixedSizeプロパティでサイズが固定されているかどうかを確認しています。あわせて、ContainsValue()メソッドを使って特定の値が含まれているかもチェックしています。

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("Three"));
      Console.WriteLine("The SortedList object has a fixed size? = " + list.IsFixedSize);
   }
}

出力結果

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

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
The SortedList object has a fixed size? = False

この例では、ContainsValue("Three")の結果がTrueとなり、値「Three」がリストに存在することが確認できます。また、IsFixedSizeプロパティはFalseを返しているため、このSortedListは固定サイズではなく、後から要素を追加・削除できることがわかります。

例2:別のデータでの確認

続いて、別のサンプルコードでも同じプロパティの動作を確認してみましょう。

using System;
using System.Collections;

public class Demo {
   public static void Main(){
      SortedList list = new SortedList();
      list.Add("1", "John");
      list.Add("2", "Tim");
      list.Add("3", "Karl");
      list.Add("4", "Gary");
      list.Add("5", "Katie");

      Console.WriteLine("Key and Value of SortedList....");
      foreach(DictionaryEntry k in list)
         Console.WriteLine("Key: {0}, Value: {1}", k.Key, k.Value);

      Console.WriteLine("The SortedList object has a fixed size? = " + list.IsFixedSize);
   }
}

出力結果

実行すると、次の出力が表示されます。

Key and Value of SortedList....
Key: 1, Value: John
Key: 2, Value: Tim
Key: 3, Value: Karl
Key: 4, Value: Gary
Key: 5, Value: Katie
The SortedList object has a fixed size? = False

ポイントまとめ

  • IsFixedSizeプロパティは読み取り専用で、SortedListが固定サイズかどうかを値で返します。
  • 通常、new SortedList()で作成したインスタンスは可変サイズのため、falseが返されます。
  • 固定サイズのコレクションは、ラップ元のコレクションへの追加や削除を禁止するラッパーを作成した場合などに生成されます。
  1. Pythonで特定のキーKに対応する値が辞書のリスト内に存在するか確認する方法

    Pythonでは、辞書のリストの中に特定のキー「K」に対応する値が存在するかどうかを確認したい場面があります。そのような場合には、リスト内包表記を使うことで、簡潔かつ効率的に判定できます。 以下に具体的な実装例を示します。 サンプルコード my_list = [{python : 14, is : great, fun : 1`},{python : cool, is : fun, best : 81},{python : 93, is : CS, amazing : 16}] print(The list is :) print(my_list) K = python print(The

  2. Pythonでタプル内にNone値が含まれているかどうかを判定する方法

    Pythonでタプルの中に「None」値が含まれているかどうかを確認したい場合、「any」関数、「map」関数、そしてラムダ式(lambda)を組み合わせることで、簡潔に実装できます。まず、それぞれの要素について簡単に解説します。map関数とはmap関数は、リストやタプルなどのイテラブル(反復可能オブジェクト)の各要素に対して、指定した関数や操作を適用するための組み込み関数です。適用結果はマップオブジェクトとして返されます。ラムダ式(匿名関数)とは匿名関数とは、名前を持たない関数のことです。通常、Pythonの関数は「def」キーワードを使って定義されますが、匿名関数は「lambda」キーワー