Maison > développement back-end > C++ > Comment puis-je comparer le contenu d'un dictionnaire et d'une IList en C# ?

Comment puis-je comparer le contenu d'un dictionnaire et d'une IList en C# ?

Linda Hamilton
Libérer: 2024-12-31 09:22:12
original
682 Les gens l'ont consulté

How Can I Compare the Contents of a Dictionary and an IList in C#?

Comparaison du contenu d'une collection dans la méthode Equals

Dans votre méthode Equals, vous souhaitez comparer le contenu des collections, notamment un dictionnaire et un IList . Bien qu'il n'existe pas de méthode intégrée pour comparer directement ces deux types, vous pouvez utiliser la méthode Enumerable.SequenceEqual pour déterminer si leurs contenus sont égaux.

Enumerable.SequenceEqual

Cette méthode accepte deux séquences et compare leurs éléments à l'aide d'un IEqualityComparer spécifié. Il renvoie vrai si les séquences contiennent le même nombre d'éléments et que chaque paire d'éléments correspondante est égale.

Comparaison de dictionnaires et de listes

Pour comparer deux dictionnaires et deux ILists , vous pouvez assimiler respectivement leurs clés et leurs valeurs. Pour les ILists, vous pouvez utiliser SequenceEqual pour comparer directement leur contenu. Pour les dictionnaires, vous pouvez les convertir en listes de paires clé-valeur et utiliser SequenceEqual pour vérifier l'égalité.

Exemple d'utilisation

En supposant que vous ayez un dictionnaire nommé " dict1" et une liste nommée "list1", et vous souhaitez les comparer à un autre dictionnaire "dict2" et une liste "list2":

// Convert Dictionaries to lists of key-value pairs
var dict1List = dict1.Select(x => new KeyValuePair<string, int>(x.Key, x.Value)).ToList();
var dict2List = dict2.Select(x => new KeyValuePair<string, int>(x.Key, x.Value)).ToList();

// Compare the lists of key-value pairs using SequenceEqual
bool dictEqual = dict1List.SequenceEqual(dict2List);

// Compare the ILists directly using SequenceEqual
bool listEqual = list1.SequenceEqual(list2);
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!

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