7

次のクラスがあるとします。

public class Test{
    public string Length { get; set; }
    public string Width { get; set; }
    public string Height { get; set; }
    public int Count { get; set; }
    public string Label { get; set; }
}

そして、長さとラベルの値が同じアイテムを見つけて、それぞれの数を数えたいと思います。これまでのところ、私のコードは次のようになります。

var dups = testlist.GroupBy(i => new { i.Length, i.Label })
                   .Where(g => g.Count() >= 1)
                   .Select(g => new { Length = g.Key.Length, Label = g.Key.Label, 
                                      Count = g.Count() });

しかし問題は、var 内のオブジェクトが幅または高さのプロパティを持たなくなったことです (g.Key には存在しません)。結果に他のプロパティを保存しながら、2 つのプロパティに基づいて重複を見つける方法はありますか?

4

1 に答える 1

18

この後

testList
  .GroupBy(i => new { i.Length, i.Label })
  .Where(g => g.Count() >= 1)

あなたは効果的に持っていIEnumerable<IEnumerable<Test>>ます。それはだまされた人のリストのリストです。これ以上何が欲しい?

于 2012-10-23T15:01:49.877 に答える