2011-03-24 21 views
24

हाय मेरे पास नीचे दिखाए गए वर्ग प्रकार वर्ग 1 के तत्व की एक सूची है। मैं कैसे समूह उन्हें एकतत्वों के शब्दकोश में समूह

Dictionary<int,List<SampleClass>> में कर ग्रुप

class SampleClass 
{ 
    public int groupID; 
    public string someData; 
}                     

मैं इस तरह से किया है के आधार पर:

var t =(from data in datas group data by data.groupID into dataGroups select dataGroups).ToDictionary(gdc => gdc.ToList()[0].groupID, gdc => gdc.ToList()); 

वहाँ thiss

उत्तर

46

यह होगा करने का एक बेहतर तरीका है प्रतिस्थापित करने के लिए और अधिक कुशल बनें:

gdc => gdc.ToList()[0].groupID 

साथ:

gdc => gdc.Key 

उसके अलावा, यह है कि मैं किया होता लग रहा है।

वैकल्पिक रूप से, अगर आप LINQ से अधिक विस्तार के तरीकों के साथ ठीक कर रहे हैं (मैं व्यक्तिगत रूप से उन्हें पसंद करते हैं), यह आगे अभी भी साथ छोटा किया जा सकता:

var t = data.GroupBy(data => data.groupID).ToDictionary(gdc => gdc.Key, gdc => gdc.ToList()); 
संबंधित मुद्दे