ホームページ > バックエンド開発 > C++ > C# で辞書と IList の内容を比較するにはどうすればよいですか?

C# で辞書と IList の内容を比較するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-31 09:22:12
オリジナル
682 人が閲覧しました

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

Equals メソッドでのコレクションの内容の比較

Equals メソッドで、コレクション、特に Dictionary と IList の内容を比較したいとします。 。これら 2 つの型を直接比較する組み込みメソッドはありませんが、Enumerable.SequenceEqual メソッドを利用して、それらの内容が等しいかどうかを判断できます。

Enumerable.SequenceEqual

このメソッドは 2 つのシーケンスを受け入れ、指定された IEqualityComparer を使用してそれらの要素を比較します。シーケンスに同じ数の要素が含まれており、対応する要素の各ペアが等しい場合、true を返します。

辞書とリストの比較

2 つの辞書と 2 つの IList を比較するには、それぞれのキーと値を同等とみなすことができます。 IList の場合、SequenceEqual を使用してその内容を直接比較できます。辞書の場合、キーと値のペアのリストに変換し、SequenceEqual を使用して同等性をチェックできます。

使用例

「」という名前の辞書があると仮定します。 dict1" と "list1" という名前のリストがあり、それらを別の辞書 "dict2" およびリストと比較したいとします。 "リスト2":

// 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);
ログイン後にコピー

以上がC# で辞書と IList の内容を比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート