Pol*_*zer 3 c# linq string-comparison
List<string> testList = new List<string>();
testList.Add("A");
testList.Add("A");
testList.Add("C");
testList.Add("d");
testList.Add("D");
Run Code Online (Sandbox Code Playgroud)
此查询区分大小写:
// Result: "A"
List<String> duplicates = testList.GroupBy(x => x)
.Where(g => g.Count() > 1)
.Select(g => g.Key)
.ToList();
Run Code Online (Sandbox Code Playgroud)
它如何看起来不区分大小写?(结果:"A","d")
Dmi*_*nko 10
通过使用重载实现的GroupBy,你可以提供所需的比较器,如StringComparer.OrdinalIgnoreCase:
var result = testList
.GroupBy(item => item, StringComparer.OrdinalIgnoreCase)
.Where(g => g.Count() > 1)
.Select(g => g.Key)
.ToList();
Run Code Online (Sandbox Code Playgroud)