【发布时间】:2011-09-09 09:10:06
【问题描述】:
我有并且想要比较两个 IDictionary 集合的特定键值。 例如。 IDictionary col1 和 E.g.字典 col2.
我正在循环集合中的所有项目,最后使用这个“Equals”来比较两个集合中的键值 -
if(col1.Values[key2].Equals(col2.Values[key2]))
{
}
但是“Equals”会比较对象引用,所以这是正确的做法或任何替代解决方案?
【问题讨论】:
-
如果
Equals比较引用取决于它是否在类中被覆盖。那么你的字典中的值是什么类型的呢? -
本帖标题与提问无关
-
键是字符串,值是对象。
-
如果值是并且对象做 Col1 和 Col2 总是包含相同的底层类型,例如你确定你从不将字符串与 int 进行比较吗?
-
因为值是对象,对于两个集合中的相同键,值将是相同的类型(字符串或整数或任何东西)。
标签: c#