Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Membandingkan Kandungan Kamus dan IList dalam C#?

Bagaimanakah Saya Boleh Membandingkan Kandungan Kamus dan IList dalam C#?

Linda Hamilton
Linda Hamiltonasal
2024-12-31 09:22:12675semak imbas

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

Membandingkan Kandungan Koleksi dalam Kaedah Equals

Dalam kaedah Equals anda, anda ingin membandingkan kandungan koleksi, khususnya Kamus dan IList . Walaupun tiada kaedah terbina dalam untuk membandingkan secara langsung kedua-dua jenis ini, anda boleh menggunakan kaedah Enumerable.SequenceEqual untuk menentukan sama ada kandungannya adalah sama.

Enumerable.SequenceEqual

Kaedah ini menerima dua jujukan dan membandingkan elemennya menggunakan IEqualityComparer yang ditentukan. Ia kembali benar jika jujukan mengandungi bilangan elemen yang sama dan setiap pasangan unsur yang sepadan adalah sama.

Membandingkan Kamus dan Senarai

Untuk membandingkan dua Kamus dan dua IList , anda boleh menyamakan kunci dan nilai masing-masing. Untuk ILists, anda boleh menggunakan SequenceEqual untuk membandingkan kandungannya secara langsung. Untuk Kamus, anda boleh menukarnya kepada senarai pasangan nilai kunci dan menggunakan SequenceEqual untuk menyemak kesamaan.

Contoh Penggunaan

Andaikan anda mempunyai Kamus bernama " dict1" dan Senarai bernama "list1", dan anda ingin membandingkannya dengan Kamus lain "dict2" dan List "senarai2":

// 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);

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membandingkan Kandungan Kamus dan IList dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn