重複を相互に排他的にキャッチしたい。つまり、1番目と3番目のアイテムの両方が重複していること、および1番目と4番目のアイテムが重複していることを示す必要があります。
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で簡単に実行できることを知っています。学びたいと思います。