给出以下简单示例:
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相同数量的项目。相反,我希望例如将“三个”和“三个”视为相等。
我是否缺少某些东西,或者Distinct运算符是否有问题?