c# - c#在大小写不匹配的字符串列表中查找重复项
问题描述
我有一个字符串列表 ( List<string>
),我只想获取字符串大小写不匹配的重复项。当前查询给出所有重复项。
在下面的示例中,我只想要"Chassis"
,因为仅此而已,有 a"chassis"
并且case are different。请帮忙。
private void btnSearchAndFlag_Click(object sender, RoutedEventArgs e)
{
List<string> stList = new List<string>() {
"Chassis", "chassis", "ABC", "ABC", "Chassis" };
var duplicates = stList
.GroupBy(x => x, StringComparer.Ordinal)
.Where(g => g.Count() > 1)
.Select(y => y.Key)
.ToList();
}
解决方案
您可以尝试对初始查询进行小修改:
List<string> stList = new List<string>() {
"Chassis", "chassis", "ABC", "ABC", "Chassis" };
var duplicates = stList
.GroupBy(item => item, StringComparer.OrdinalIgnoreCase)
.Where(group => group.Distinct(StringComparer.Ordinal).Count() > 1)
.Select(group => group.Key)
.ToList();
推荐阅读
- javascript - TypeError:无法读取未定义 [VueJs] 的属性“推送”
- c++ - Cmake链接外部库
- html - 响应式导航栏不会“拉伸”
- sql - 在多个条件的同一查询中使用 min 和 max 查找唯一记录
- algorithm - 具有不同标签的两个文本之间的关系
- c# - 在 ASP.NET Core MVC 中使用 REST 而不是数据库
- java - HackerEarth 练习时间不多了
- python - Django 从目录中读取文件并将它们的名称保存在数据库中
- ios - Unable to find app by keyword in AppStore
- python - Python ASCII 加密程序