从包含以下信息(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#中的任何其他方式?
谢谢!
答案 0 :(得分:5)
您可以使用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;