C# 使用LINQ搜索列表中的重复条目
我有一个包含文本框控件的列表。基本上所有这些都分组在一个groupbox控件中C# 使用LINQ搜索列表中的重复条目,c#,linq,list,C#,Linq,List,我有一个包含文本框控件的列表。基本上所有这些都分组在一个groupbox控件中 List<TextBox> listTextBox; 如果计数大于1,则我确定文本框中存在重复条目 还有其他更好的办法吗 干杯 VATSAG您可以使用GroupBy,然后使用Count>1筛选组,并为所有此类文本选择键。我没有遵守守则,但这应该足够接近了 var duplicateTexts= listTextBox.GroupBy(tb => tb.Text)
List<TextBox> listTextBox;
如果计数大于1,则我确定文本框中存在重复条目
还有其他更好的办法吗
干杯
VATSAG您可以使用GroupBy,然后使用Count>1筛选组,并为所有此类文本选择键。我没有遵守守则,但这应该足够接近了
var duplicateTexts=
listTextBox.GroupBy(tb => tb.Text)
.Where(group => group.Count() > 1)
.Select(group => group.Key);
大概像这样的东西可能有用
var duplicates = listTextBox
.GroupBy(i => i.Text)
.Where(g => g.Count() > 1)
.Select(g => new {Count = g.Count(),
Name = g.Key});
foreach (var d in duplicates)
{
var keyName = d.Key;
var count = d.Count;
}
是否要登记所有重复文本?登记或如果计数超过1,则可以提示重复文本。此谓词将为我提供重复条目的密钥。但有没有办法只计算一下?简单地计算一下。重复文本的数量?我已经编辑了我的答案。在遍历时,可以同时获取密钥和计数。
var duplicates = listTextBox
.GroupBy(i => i.Text)
.Where(g => g.Count() > 1)
.Select(g => new {Count = g.Count(),
Name = g.Key});
foreach (var d in duplicates)
{
var keyName = d.Key;
var count = d.Count;
}