ホームページ  >  記事  >  バックエンド開発  >  C# では辞書クラスが混在していますか?

C# では辞書クラスが混在していますか?

王林
王林転載
2023-09-08 11:57:09682ブラウズ

C# 中的混合字典类?

HybridDictionary クラスは、コレクションが小さいときは ListDictionary を使用して IDictionary を実装し、コレクションが大きくなると Hashtable に切り替えます。

HybridDictionary クラスの属性は次のとおりです:

シリアル番号 属性と説明
1 Count

含まれるキーと値のペアの数を取得します

混合辞書。

#2 IsFixedSize

かどうかを示す値を取得します。 HybridDictionary のサイズは固定です。

3 IsReadOnly

HybridDictionary が有効かどうかを示す値を取得します。 読み取り専用。

4 IsSynchronized

HybridDictionary が同期されているかどうかを示す値を取得します。 同期されています (スレッドセーフ)。

#5 #Item[Object]に関連付けられた値を取得または設定します。指定されたキー。

#6 Keys キーを含む ICollection を取得する ハイブリッド辞書。

7 SyncRoot 同期アクセスに使用できるオブジェクトを取得する HybridDictionaryへ。

8 Values HybridDictionary に含まれる値の ICollection を取得する HybridDictionary.

HybridDictionary クラスのメソッドの一部を次に示します:

number ##1234Equals(Object)GetEnumerator()GetHashCode()GetType() 現在のタイプを取得します。実例 。 (Object から継承) Example次に、いくつかの例を見てみましょう -
メソッドと説明
Add(Object, Object) 指定されたキーと値を持つエントリを HybridDictionary.

Clear() HybridDictionary からすべてのエントリを削除します。

Contains(Object) HybridDictionary に特定のキーが含まれているかどうかを判断します。

CopyTo(Array, Int32) HybridDictionary のエントリをコピーします。 1次元配列のa 指定されたインデックスにある配列インスタンス。

#5

指定されたオブジェクトが次と等しいかどうかを判断します。 現在のオブジェクト。 (Object から継承)

6

使用される IDictionaryEnumerator を返します。横断するには ハイブリッド辞書。

7

デフォルトのハッシュ関数として使用されます。 (オブジェクトから継承) strong>

##8

HybridDictionary 内のキーと値のペアの数を計算するには、コードは次のとおりです。 -

デモンストレーション

using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      HybridDictionary dict1 = new HybridDictionary();
      dict1.Add("A", "SUV");
      dict1.Add("B", "MUV");
      dict1.Add("C", "AUV");
      Console.WriteLine("HybridDictionary1 elements...");
      foreach(DictionaryEntry d in dict1) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Count of Key/value pairs in Dictionary1 = "+dict1.Count);
      HybridDictionary dict2 = new HybridDictionary();
      dict2.Add("1", "One");
      dict2.Add("2", "Two");
      dict2.Add("3", "Three");
      dict2.Add("4", "Four");
      dict2.Add("5", "Five");
      dict2.Add("6", "Six");
      Console.WriteLine("HybridDictionary2 elements...");
      foreach(DictionaryEntry d in dict2) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Count of Key/value pairs in Dictionary2 = "+dict1.Count);
      dict2.Clear();
      Console.WriteLine("Count of Key/value pairs in Dictionary2 (Updated) = "+dict2.Count);
   }
}

出力

これにより、次の出力が生成されます -

HybridDictionary1 elements...
A SUV
B MUV
C AUV
Count of Key/value pairs in Dictionary1 = 3
HybridDictionary2 elements...
1 One
2 Two
3 Three
4 Four
5 Five
6 Six
Count of Key/value pairs in Dictionary2 = 3
Count of Key/value pairs in Dictionary2 (Updated) = 0

HybridDictionary が同期されているかどうかを確認します。コードは次のとおりです。 -

Example

リアルタイム デモンストレーション

using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      HybridDictionary dict1 = new HybridDictionary();
      dict1.Add("A", "Books");
      dict1.Add("B", "Electronics");
      dict1.Add("C", "Smart Wearables");
      dict1.Add("D", "Pet Supplies");
      dict1.Add("E", "Clothing");
      dict1.Add("F", "Footwear");
      Console.WriteLine("HybridDictionary1 elements...");
      foreach(DictionaryEntry d in dict1) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Is the HybridDictionary1 having fixed size? = "+dict1.IsFixedSize);
      Console.WriteLine("If HybridDictionary1 read-only? = "+dict1.IsReadOnly);
      Console.WriteLine("Is HybridDictionary1 synchronized = "+dict1.IsSynchronized);
      HybridDictionary dict2 = new HybridDictionary();
      dict2.Add("1", "One");
      dict2.Add("2", "Two");
      dict2.Add("3", "Three");
      dict2.Add("4", "Four");
      dict2.Add("5", "Five");
      dict2.Add("6", "Six");
      Console.WriteLine("HybridDictionary2 elements...");
      foreach(DictionaryEntry d in dict2) {
         Console.WriteLine(d.Key + " " + d.Value);
      }
      Console.WriteLine("Is HybridDictionary1 equal to HybridDictionary2? = "+(dict1.Equals(dict2)));
      Console.WriteLine("Is the HybridDictionary2 having fixed size? = "+dict2.IsFixedSize);
      Console.WriteLine("If HybridDictionary2 read-only? = "+dict2.IsReadOnly);
      Console.WriteLine("Is HybridDictionary2 synchronized = "+dict2.IsSynchronized);
   }
}

出力

これにより、次の出力が生成されます。 −

rreeee

以上がC# では辞書クラスが混在していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。