다음과 같은 간단한 예가 있습니다.
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 는 list 와 동일한 수의 항목을 포함 합니다 . 대신에 예를 들어 "Three"와 "three"는 동일한 것으로 간주됩니다.
내가 뭔가를 놓치고 있거나 이것이 Distinct 연산자의 문제입니까?