Maison  >  Article  >  développement back-end  >  Classes de dictionnaire mixtes en C# ?

Classes de dictionnaire mixtes en C# ?

王林
王林avant
2023-09-08 11:57:09744parcourir

La classe

C# 中的混合字典类?

HybridDictionary implémente IDictionary en utilisant ListDictionary lorsque la collection est petite, puis passe à Hashtable lorsque la collection devient plus grande.

Voici les propriétés de la classe HybridDictionary :

Numéro de série Propriétés et description
1 Count

Obtenir le nombre de paires clé/valeur contenues

Dictionnaire mixte.

2 IsFixedSize

Obtient une valeur indiquant si HybridDictionary a une taille fixe.

3 IsReadOnly

Obtient une valeur indiquant si HybridDictionary est Lecture seule.

4 IsSynchronized

Obtient une valeur indiquant si HybridDictionary est synchronisé (thread-safe).

5 Item[Object]

Obtient ou définit la valeur associée à la clé spécifiée.

6 Keys

Obtenez la ICollection contenant les clés Dictionnaire hybride.

7 SyncRoot

Obtenir les objets disponibles pour un accès synchrone à HybridDictionary.

8 Values

Obtenez une ICollection de valeurs contenues dans un HybridDictionary le HybridDictionary.

Voici quelques méthodes de la classe HybridDictionary :

Numéro de série Méthodes et description
1 Add( Objet, Objet)

aura des entrées avec des clés et des valeurs spécifiées ajoutées à le HybridDictionary.

2 Clear()

Supprime toutes les entrées du HybridDictionary.

3 Contains(Object)

Détermine si HybridDictionary contient une clé spécifique.

4 CopyTo(Array, Int32)

Copiez les entrées de HybridDictionary dans un tableau unidimensionnel L'instance de tableau à l'index spécifié.

5 Equals(Object)

Déterminez si l'objet spécifié est égal à objet courant. (Hérité de Object)

6 GetEnumerator()

Renvoie un IDictionaryEnumerator pour le parcours Dictionnaire hybride.

7 GetHashCode() strong>

est utilisée comme fonction de hachage par défaut. (Hérité de Object)

8 GetType()

Obtenir le type de l'instance actuelle. (Hérité de Object)

Pour compter le nombre de paires clé-valeur dans HybridDictionary, le code est le suivant −

Exemple

Voyons maintenant quelques exemples−

Démonstration

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

Sortie

Cela produira la sortie suivante −

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

Pour vérifier si l'HybridDictionary est synchronisé ou non, le code est le suivant −

Exemple

Démonstration en direct

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

Output

Cela produira la sortie suivante−

HybridDictionary1 elements...
A Books
B Electronics
C Smart Wearables
D Pet Supplies
E Clothing
F Footwear
Is the HybridDictionary1 having fixed size? = False
If HybridDictionary1 read-only? = False
Is HybridDictionary1 synchronized = False
HybridDictionary2 elements...
1 One
2 Two
3 Three
4 Four
5 Five
6 Six
Is HybridDictionary1 equal to HybridDictionary2? = False
Is the HybridDictionary2 having fixed size? = False
If HybridDictionary2 read-only? = False
Is HybridDictionary2 synchronized = False

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer