2013-06-20 3 views
3

У нас есть метод SetEquals для проверки различных типов наборов для равенства. Но какой тест равенства будет выполняться над элементами? Будет ли использоваться Equals или ReferenceEquals?Какая проверка равенства будет выполняться в `SetEquals` для элементов?

В API он просто заявляет:

Определяет текущий набор и указанный набор содержат ли одни и те же элементы

ответ

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 
Смежные вопросы