c# – Dictionary.Equals()有一个实现?

c# – Dictionary.Equals()有一个实现?,第1张

概述我有一个字典,我正在与另一个字典(变量键入IDictionary)进行比较.做d1.Equals(d2)会产生错误.在下面写我自己的代码是真的.都是System.Collections.Generic.Dictionary.我是否缺少某些东西或字典没有比较键/值的Equals实现? private static bool DictEquals<K, V>(IDictionary<K, V> d1, 我有一个字典,我正在与另一个字典(变量键入IDictionary)进行比较.做d1.Equals(d2)会产生错误.在下面写我自己的代码是真的.都是System.Collections.Generic.Dictionary.我是否缺少某些东西或字典没有比较键/值的Equals实现?
private static bool DictEquals<K,V>(IDictionary<K,V> d1,IDictionary<K,V> d2){    if (d1.Count != d2.Count)        return false;    foreach (keyvaluePair<K,V> pair in d1)    {        if (!d2.ContainsKey(pair.Key))            return false;        if (!Equals(d2[pair.Key],pair.Value))            return false;    }    return true;}
解决方法 Dictionary.Equals()使用来自Object的默认Equals,检查两个对象是否是相同的引用,以及所有其他默认集合.你可以自由地创建自己的具有价值语义的子类,尽管它通常包括不可变的东西. 总结

以上是内存溢出为你收集整理的c# – Dictionary.Equals()有一个实现?全部内容,希望文章能够帮你解决c# – Dictionary.Equals()有一个实现?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1257505.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存