我们使用SetEquals
方法检查不同的集合类型是否相等。但是会对元素执行什么样的等式测试呢?会使用Equals
还是ReferenceEquals
?
在API中,它只是声明:
确定当前设置和指定的集合 包含相同的元素
答案 0 :(得分:7)
它是“集合用来考虑元素相等的那个”,即与Add
和Contains
使用的相同。例如:
var set = new HashSet<string>(StringComparer.OrdinalIgnoreCase)
{
"abc", "def"
};
var list = new List<string> { "ABC", "DEF" };
Console.WriteLine(set.SetEquals(list)); // True