Mam następujący obiekt na liście:
public class DemoClass
{
public int GroupKey { get; set; }
public string DemoString { get; set; }
public object SomeOtherProperty { get; set; }
}
Teraz chcę z niego utworzyć następujący słownik:
Dictionary<int, List<DemoClass>>
Chcę pogrupować List <DemoClass>
według właściwości GroupKey, ale nie rozumiem, jak to się robi.
Po krótkiej refleksji osiągnęłam taki rezultat:
var groupedDemoClasses = from demoClass in mySepcialVariableWhichIsAListOfDemoClass
group demoClass by demoClass.GroupKey
into groupedDemoClass
select groupedDemoClass;
var neededDictionary = groupedDemoClass.ToDictionary(gdc => gdc.Key, gdc => gdc.ToList());
ale czy istnieje sposób, by zamienić to w jedno zdanie? Z góry dzięki za pomoc :)
1 odpowiedź
spróbuj tak:
var groupedDemoClasses = (from demoClass in mySepcialVariableWhichIsAListOfDemoClass
group demoClass by demoClass.GroupKey
into groupedDemoClass
select groupedDemoClass).ToDictionary(gdc => gdc.Key, gdc => gdc.ToList());