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
Lepaskan: 2024-12-31 09:22:12
asal
682 orang telah melayarinya

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);
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan