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

Classes de dictionnaire mixtes en C# ?

王林
Libérer: 2023-09-08 11:57:09
avant
872 Les gens l'ont consulté

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);
   }
}
Copier après la connexion

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
Copier après la connexion

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);
   }
}
Copier après la connexion

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
Copier après la connexion

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal