c# 在大小写不匹配的字符串列表中查找重复项
c# find duplicates in list of string where the case doesn't match
我有一个字符串列表 (List<string>
),我只想得到 duplicates,其中 cases字符串 不匹配 。当前查询给出了所有重复项。
在下面的示例中,我只想要 "Chassis"
,因为只有 "chassis"
并且 情况不同 。请帮忙。
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();
我有一个字符串列表 (List<string>
),我只想得到 duplicates,其中 cases字符串 不匹配 。当前查询给出了所有重复项。
在下面的示例中,我只想要 "Chassis"
,因为只有 "chassis"
并且 情况不同 。请帮忙。
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();