我想相互排他地捕获重复项,即我需要证明第一项和第三项都是重复项,并且第一项和第四项是重复项。
public class Foo
{
public String Name { get; set; }
public String SName { get; set; }
}
class Program
{
static void Main(string[] args)
{
var list = new List<Foo>();
list.Add(new Foo { Name = "a", SName = "d" });
list.Add(new Foo { Name = "b", SName = "e" });
list.Add(new Foo { Name = "c", SName = "a" });
list.Add(new Foo { Name = "a", SName = "f" });
// only groups by 1 name
var duplicates = list.GroupBy(i => i.Name).Where(g => g.Count() > 1).Select(g => g.Key);
}
}
我知道这可以用 foreach 轻松完成,我想学习。