2017-11-19 21 views
1

LINQ expertからlinqに変換する方法。LINQが返す辞書<string、List <Item>>コレクションC#

Public Class Item  
{ 

    Public string Name {get;set;} 

    Public string Value {get;set;} 

    Public bool IsDis {get;set;} 

} 

私はNameプロパティは、値のリストを持っているように、この

{ 
    Name ="ABC", Value="x", IsDis= true 

    Name ="ABC", Value="y", IsDis=false 

    Name ="ABC1", Value="1", IsDis false 

    Name ="ABC1", Value="2", IsDis= true   
} 

のようなものであるコレクションを持っています。私は、このようなLINQクエリを記述する必要がありNameによって

Dictionary <string, List<Item>> = collection?????? 
+1

GroupBy()、ToDictionary()、ToList()? (ある辞書のキーが何であるかを言わなかったので、いくつかの推測を教えてください) –

答えて

3

GroupByを返し、その後Dictionaryにそれを集めます。

Dictionary<string, List<Item>> resultSet = collection 
           .GroupBy(e => e.Name) 
           .ToDictionary(g => g.Key, g => g.ToList()); 
+0

名前がキーの場合、名前は異なるはずですが、Name = "ABC"およびName = "ABC1"キーが繰り返されます。その場合、上記の論理は成立しません。 –

関連する問題