Учитывая следующий простой пример:LINQ Отличный оператор, игнорировать корпус?
List<string> list = new List<string>() { "One", "Two", "Three", "three", "Four", "Five" };
CaseInsensitiveComparer ignoreCaseComparer = new CaseInsensitiveComparer();
var distinctList = list.Distinct(ignoreCaseComparer as IEqualityComparer<string>).ToList();
Похоже CaseInsensitiveComparer не фактически используется, чтобы сделать сравнение без учета регистра.
Другими словами distinctList содержит такое же количество элементов, как списка. Вместо этого я бы ожидал, что, например, «Три» и «Три» считаются равными.
Я что-то упустил или это проблема с оператором Distinct?
Это здорово, спасибо. – Ash 2008-11-12 06:45:50