来自包含以下信息(id、名称、地址、代码)的对象列表:
1,Andrea,15th St,123
2,Sarah,15th St,124
3,Andrea,15th St,134
4,Andrea,16th St,124
我想检索名称和地址相同但代码不同的行。在这个例子中:
1,Andrea,15th St,123
3,Andrea,15th St,134
我已经开始使用 Linq,第一次了解它。我能够找到重复项:
var sameEmail =
from l in list
group l by new { l.name, l.address} into na
where na.Count() > 1
select na.Key;
但我找不到一种方法来确保我只获取具有不同代码的记录。有了它,我也会得到最后一行,但由于它有相同的代码,我不想要它。有没有办法用 Linq 做到这一点?或者 C# 中的任何其他方式?
谢谢!
最佳答案
您可以使用Distinct
来获得不同的值
var sameEmail =
from l in list
group l by new { l.name, l.address} into na
where na.Select(a => a.code).Distinct().Count() > 1
select na.Key;
关于c# - 查找具有相似和不同字段的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34466646/