-1

次のような2つの辞書DictAとDictBがあります。

Dictionary<int, string> DictA = new Dictionary<int, string>();
DicA.add(1,"Mango");
DicA.add(2,"Grapes");
DicA.add(3,"Orange");

Dictionary<int, string> DictB = new Dictionary<int, string>();
DicB.add(1,"Mango");
DicB.add(2,"Pineapple");

これらの 2 つのディクショナリDictA キー、値DictB キー、値の値を比較し、一致が見つかった場合、COUNTER変数をINCREMENT する方法。

注: DicA には、DicB EG と比較して多くの行が含まれる場合があります。DicA には 3 つの行があり、DicB には 2 つの行があります。DicA のキー、値が DicB のキー、val と一致 (類似/等しい) する場合、カウンター変数を 1 つ増やします。

なにか提案を..!助けてください...!

4

2 に答える 2

3

次のコードを使用します。

int matches = DictA.Keys.Where(k => DictB.ContainsKey(k) && DictB[k] == DictA[k]).Count();
于 2012-06-26T13:30:44.883 に答える
1

あなたが使用することができます:

Dictionary<int, string> DicA = new Dictionary<int, string>();
DicA.Add(1,"Mango");
DicA.Add(2,"Grapes");
DicA.Add(3,"Orange");

Dictionary<int, string> DicB = new Dictionary<int, string>();
DicB.Add(1,"Mango");
DicB.Add(2,"Pineapple");

int counter = 0;

foreach (var pair in DicA)
{
     string value;

     if (DicB.TryGetValue(pair.Key, out value))
     {
          if (value == pair.Value)
          {
                counter++;
          }
     }
}
于 2012-06-26T13:33:44.943 に答える