2

別のプロパティに基づいてオブジェクトをグループ化することにより、オブジェクトリストから特定のプロパティの集計を計算する必要があります。たとえば、次の5つのオブジェクトのリストがあります。

list<cls> Objlist = new list<cls>();

 Obj1.Name="earth";
 Obj1.Value = 10;
 objlist.add(Obj1);

 Obj2.Name="sun";
 Obj2.value = 15;
 objlist.add(Obj2);

 Obj3.Name = "earth";
 Obj3.Value = 25;
 objlist.add(Obj3);

 Obj4.Name = "earth";
 Obj4.Value = 35;
 objlist.add(Obj4);

 Obj5.Name="sun";
 Obj5.value = 50;
 objlist.add(Obj5);

必要なのは、地球と太陽のオブジェクトの平均値を取得するための別のリストです。これは、LINQを使用してどのように実現できますか?

4

1 に答える 1

4

AverageLINQから必要なものです。最初GroupByにグループ化するために使用します。Name

var result = Objlist.GroupBy(x => x.Name)
            .Select(g => new {
                                 Name = g.Key, 
                                 Value = g.Average(o => o.Value)
                             });
于 2012-09-12T10:25:47.957 に答える