Проверка равенства Списка в .NET C#, не работающем при использовании Nhibernate

OpenStreetMap, кажется, имеет 10-20 в секунду

, Википедия, кажется, 30 000 - 70 000 в секунду распространение по 300 серверов (100 - 200 запросов в секунду на машину, большая часть которой является кэшами)

Geograph добирается 7 000 изображений в неделю (1 загрузка в 95 секунд)

16
задан 9 September 2009 в 19:21
поделиться

2 ответа

Когда вы сравниваете 2 списка друг с другом, метод Equals НЕ сравнивает элементы, которые находятся в этом списке. Он сравнивает объект List с другим объектом List.

Список - это объект, который имеет свою собственную «идентичность».

Это, например, никогда не вернет истину:

List<int> firstList = new List<int>();
List<int> secondList = new List<int>();

firstList.Add(1);
firstList.Add(2);

secondList.Add(1);
secondList.Add(2);


Assert.IsTrue (firstList.Equals(secondList));

Метод Equals сравнивает не содержимое списка, а сам список. Если вы хотите такого поведения, я думаю, вам придется реализовать свой собственный тип List.

12
ответ дан 30 November 2019 в 15:18
поделиться

Как сказал Фредрик, Equals не сравнивает содержимое списков. Но Enumerable.SequenceEqual делает. Проверьте Есть ли встроенный метод сравнения коллекций в C #? для получения дополнительной информации.

49
ответ дан 30 November 2019 в 15:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: