Maison > développement back-end > C++ > Comment puis-je garantir une énumération ordonnée des éléments du dictionnaire en C# ?

Comment puis-je garantir une énumération ordonnée des éléments du dictionnaire en C# ?

Susan Sarandon
Libérer: 2025-01-17 18:47:10
original
540 Les gens l'ont consulté

How Can I Guarantee Ordered Enumeration of Dictionary Elements in C#?

Maintenir l'ordre lors de l'itération dans les dictionnaires C#

Les dictionnaires C# standard ne garantissent pas intrinsèquement un ordre spécifique des éléments lors de l'énumération. L'ordre peut varier de manière imprévisible, quelle que soit la séquence d'insertion. Cependant, il existe des moyens de contrôler l'ordre des itérations si nécessaire.

Méthodes d'énumération ordonnée

Plusieurs stratégies peuvent assurer un parcours ordonné des éléments du dictionnaire :

1. Tri des paires KeyValuePair :

Cette méthode convertit le dictionnaire en un tableau trié de KeyValuePair objets.

<code class="language-csharp">var sortedKVPs = _Dictionary.OrderBy(x => x.Key).ToArray();

foreach (KeyValuePair<string, string> kvp in sortedKVPs)
{
  Trace.Write(String.Format("{0}={1}", kvp.Key, kvp.Value));
}</code>
Copier après la connexion

Cet extrait de code trie les paires clé-valeur en fonction des clés, puis parcourt le tableau trié, fournissant l'ordre alphabétique dans cet exemple.

2. Tirer parti de OrderedDictionary :

La classe OrderedDictionary maintient explicitement l'ordre d'insertion.

<code class="language-csharp">// Create an ordered dictionary
var orderedDictionary = new OrderedDictionary();

// Add elements
orderedDictionary.Add("orange", "1");
orderedDictionary.Add("apple", "4");
orderedDictionary.Add("cucumber", "6");

// Add using indexer
orderedDictionary["banana"] = 7;
orderedDictionary["pineapple"] = 7;

// Enumerate the ordered dictionary
foreach (DictionaryEntry entry in orderedDictionary)
{
  Trace.Write(String.Format("{0}={1}", entry.Key, entry.Value));
}</code>
Copier après la connexion

Les éléments sont récupérés dans l'ordre exact dans lequel ils ont été ajoutés au OrderedDictionary. Notez que OrderedDictionary est une classe héritée ; pour les nouveaux projets, pensez à utiliser SortedDictionary ou SortedList<TKey, TValue>. SortedDictionary permet de trier les clés et SortedList<TKey, TValue> offre des fonctionnalités similaires avec de meilleures performances dans certains cas.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal