如何在 C# 中比较两个字典?

csharpprogrammingserver side programming更新于 2025/5/28 17:22:17

要比较两个字典,首先将两个字典设置为 −

Dictionary One

IDictionary<int, int> d = new Dictionary<int, int>();
d.Add(1,97);
d.Add(2,89);
d.Add(3,77);
d.Add(4,88);

// Dictionary One 元素
Console.WriteLine("Dictionary One 元素:"+d.Count);

Dictionary One

IDictionary<int, int> d2 = new Dictionary<int, int>();
d2.Add(1,97);
d2.Add(2,89);
d2.Add(3,77);
d2.Add(4,88);

// 字典中有两个元素
Console.WriteLine("字典中有两个元素:"+d2.Count);

现在让我们比较一下它们 −

bool equal = false;
if (d.Count == d2.Count) { // 要求计数相等。
   equal = true;
   foreach (var pair in d) {
      int value;
      if (d2.TryGetValue(pair.Key, out value)) {
          if (value != pair.Value) {
            equal = false;
            break;
         }
      } else {
         equal = false;
          break;
      }
   }
}

以上比较了两个字典。现在打印控制台,结果将为 True。这意味着两个字典具有相同的值。


相关文章