在`SetEquals`中将为元素执行哪个等式检查?

时间:2013-06-20 15:03:39

标签: c# equals

我们使用SetEquals方法检查不同的集合类型是否相等。但是会对元素执行什么样的等式测试呢?会使用Equals还是ReferenceEquals

API中,它只是声明:

  

确定当前设置和指定的集合   包含相同的元素

1 个答案:

答案 0 :(得分:7)

它是“集合用来考虑元素相等的那个”,即与AddContains使用的相同。例如:

var set = new HashSet<string>(StringComparer.OrdinalIgnoreCase)
{
    "abc", "def"
};
var list = new List<string> { "ABC", "DEF" };
Console.WriteLine(set.SetEquals(list)); // True