2

2 つの辞書があり、2 つの辞書のキーとペアの値を比較したいと考えています。2 番目のディクショナリで値が異なる場合にそれらを比較すると、それらのペアリングを維持し、それをディクショナリ 3 に保存します。

したがって、( ) の辞書 1 と ( <1,T><2,T><3,T>) の辞書 2がある場合、 <1,T><2,F><3,T>3 を ( ) のように見せたいと思います<2,F>

これをどこから始めればよいかわかりません。辞書がすべてのデータを適切に取得していますが、現在、比較を設定する方法がわかりません。

private Dictionary<int, bool> CompareDictionaries(Dictionary<int, bool> dic2)
{
    Dictionary<int,bool> dictionary3 = new Dictionary<int,bool>();

    foreach (KeyValuePair<int, bool> pair in dictionary1)
    {
        // keep KeyValuePair of dic2
        // dictionary3.add(KeyValuePair of dic 2)
    }

    return dictionary3;
}

これに関する助けをいただければ幸いです。辞書を使って目標を達成できると確信しています。3 番目の辞書を取得した後、テーブル内の情報を更新し、表示しているリストを更新しますが、その部分ははるかに簡単で、この部分に必要なメソッドとアルゴリズムを見つけます。いつものように、どんな助けも非常に高く評価されています。みんなありがとう。

4

4 に答える 4

2
return dictionary1.Where(kvp => dic2[kvp.Key] != kvp.Value)
    .ToDictionary(kvp => kvp.Key, kvp => dic2[kvp.Key]);

ディクショナリ 1 にディクショナリ 2 に存在しないキーが含まれている場合、これはスローされます。それが質問の意図したビジネス機能であるかどうかはわかりません。

于 2013-08-23T19:47:57.387 に答える