Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Membandingkan Kandungan Kamus dan IList dalam 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!