Maison > Article > développement back-end > Classes de dictionnaire mixtes en C# ?
La classe
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 |
Obtient une valeur indiquant si HybridDictionary a une taille fixe.
Obtient une valeur indiquant si HybridDictionary est Lecture seule.
Obtient une valeur indiquant si HybridDictionary est synchronisé (thread-safe).
Obtient ou définit la valeur associée à la clé spécifiée.
Obtenez la ICollection contenant les clés Dictionnaire hybride.
Obtenir les objets disponibles pour un accès synchrone à HybridDictionary.
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 −
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); } }
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 −
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); } }
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!