2016-10-26 3 views
1

内のオブジェクトのプロパティを組み合わせて、私は下記のリストを持っており、私は明確な名前を選択し、一覧<T>

データに

Name | score 
------------- 
Jon | 50 
Jon | 100 
Ash | 100 
Ash | 75 
をT.nameプロパティを組み合わせて、T.scoreプロパティを総括しようとしています

所望の結果は、私がLINQでこれを行うと、目的の結果

012とVARを作成することができています

Jon | 150 
Ash | 175 

ですそれと

List<PieSeriesData> PiSeriesData = new List<PieSeriesData>(); 
var x = PiSeriesData.GroupBy(i => i.Name) 
        .Select(g => new { Id = g.Key, Total = g.Sum(i => i.Score) }) 
        .ToList(); 

問題は、私は、xがHighChartsがnuget必要とするものであるリストのタイプ、である必要があります。

+1

'X'リストは... 2つのプロパティ(Id、Total)を持つ匿名型の総称リストです。現在は不明確であるため、問題をより詳しく説明してください。 –

+0

'.ToList()'を呼び出すと 'x'は'List 'になります。そうじゃない? – JLRishe

+0

はPieSeriesDataが2つの以上の特性を有し、と私はその後、正しく –

答えて

1

私はあなたが出力をList<PieSeriesData>する必要がチャットから理解しています。あなたもIdTotalのような新しいものを使用しないで存在し、プロパティを割り当てる必要があること_See:あなたは匿名型のselectないでPieSeriesDataクラスの新しいオブジェクトを投影する必要がある

List<PieSeriesData> PiSeriesData = new List<PieSeriesData>(); 
var x = PiSeriesData.GroupBy(i => i.Name) 
        .Select(g => new PieSeriesData { 
         Name = g.Key, 
         Score = g.Sum(i => i.Score) 
        }).ToList(); 

// Now x is of type: List<PieSeriesData> 
+0

私に手を差し伸べてくれてありがとう1 on 1 Gilad、これはちょうど私が今xのeqautesをリストに入力したものです –

+0

@ jon.nicholssoftware.com - あなたは歓迎です:) –

1

なぜ新しいクラスを作成していない

public class PieSeriesRenderData 
{ 
    public string ID { get; set; } 
    public int Total { get; set; } 
} 

そして、それは、この復帰後:

List<PieSeriesData> piSeriesData = new List<PieSeriesData>(); 
var x = piSeriesData.GroupBy(i => i.Name) 
        .Select(g => new PieSeriesRenderData { Id = g.Key, Total = g.Sum(i => i.Score) }) 
        .ToList(); 

今、あなたはあなたのWebサービスからJSONとしてそれを返すことができるList<PieSeriesRenderData>のオブジェクトを持つことになりますし、あなたが意志をあなたのajax.successfulメソッドでハイチャートを描画します。