2017-09-05 11 views
0

私はを受け取りました。IEnumerable<ValueObj>オブジェクトに複数の有効なValueObjオブジェクトがあります。これらのオブジェクトをIDでグループ化し、のキーがValueObjのIDで、値がちょうど変更されていないValueObjを受け取りたいとします。与えられたオブジェクトを値として持つLINQ GroupBy戻りディクショナリ

public class ValueObj 
{ 
    public Guid Id { get; set; } 
    public string Name { get; set; } 
    public DateTime Time { get; set; } 
    public double Result { get; set; } 
} 

私はLINQのGroupByを台無しにしようとしたが、無成功

IEnumerable<ValueObj> persons = ...; 
var results = persons.GroupBy(
    p => p.Id, 
    p => p, 
    (key, g) => new { PersonId = key, Cars = g.ToList() }); 
+5

どこクエリがありますか?あなたは何のエラーがありますか? –

+2

あなたは 'ToLookup'を使って考えましたか? – mjwills

+0

同じ 'Guid'を共有する' ValueObj'のインスタンスが複数ありますか? – HimBromBeere

答えて

4

でこれを試してみてくださいました:

IEnumerable<ValueObj> col = ...; 
var dict = col.GroupBy(x => x.Id).ToDictionary(x => x.Key, x => x.ToList()); 
関連する問題