Heim >Backend-Entwicklung >C++ >Wie kann ich den Inhalt eines Wörterbuchs und einer IList in C# vergleichen?
Sammlungsinhalte in der Equals-Methode vergleichen
In Ihrer Equals-Methode möchten Sie den Inhalt von Sammlungen vergleichen, insbesondere eines Wörterbuchs und einer IList . Obwohl es keine integrierte Methode zum direkten Vergleich dieser beiden Typen gibt, können Sie die Methode Enumerable.SequenceEqual verwenden, um festzustellen, ob ihre Inhalte gleich sind.
Enumerable.SequenceEqual
Diese Methode akzeptiert zwei Sequenzen und vergleicht ihre Elemente mithilfe eines angegebenen IEqualityComparer. Es gibt „true“ zurück, wenn die Sequenzen die gleiche Anzahl von Elementen enthalten und jedes entsprechende Elementpaar gleich ist.
Vergleich von Wörterbüchern und Listen
Zum Vergleichen von zwei Wörterbüchern und zwei ILists können Sie deren Schlüssel und Werte gleichsetzen. Für die ILists können Sie SequenceEqual verwenden, um deren Inhalte direkt zu vergleichen. Für die Wörterbücher können Sie sie in Listen von Schlüssel-Wert-Paaren konvertieren und SequenceEqual verwenden, um auf Gleichheit zu prüfen.
Beispielverwendung
Angenommen, Sie haben ein Wörterbuch mit dem Namen „ dict1“ und eine Liste mit dem Namen „list1“ und Sie möchten sie mit einem anderen Wörterbuch „dict2“ und einer anderen Liste vergleichen „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);
Das obige ist der detaillierte Inhalt vonWie kann ich den Inhalt eines Wörterbuchs und einer IList in C# vergleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!