Nesnelerin bir listesini almak ve anahtarın nesnede bir alan olduğu bir satıra dönüştürmek ve değer farklı bir liste oluşturmak istiyorum. anahtarda eşleşen nesnelerde alan. Bunu şimdi bir döngü ile yapabilirim ama bunun linq ile başarılabileceğini ve döngüyü yazmamam gerektiğini hissediyorum. GroupBy
ve ToDictionary
'un bir kombinasyonunu düşünüyordum, ancak şu ana kadar başarısız oldum. İşteConvert List <MyObject> - Sözlük <object.string, Liste <obj.ID>>
Şu anda bunu yapıyorum nasıl:
var samplesWithSpecificResult = new Dictionary<string, List<int>>();
foreach(var sample in sampleList)
{
List<int> sampleIDs = null;
if (samplesWithSpecificResult.TryGetValue(sample.ResultString, out sampleIDs))
{
sampleIDs.Add(sample.ID);
continue;
}
sampleIDs = new List<int>();
sampleIDs.Add(sample.ID);
samplesWithSpecificResult.Add(sample.ResultString, sampleIDs);
}
Ben .GroupBy().ToDictionay()
ile alabilirsiniz en uzak Dictionary<sample.ResultString, List<sample>>
olduğunu.
Herhangi bir yardım için teşekkür ederiz. Bu bir IGrouping<string, Sample>
içine koyar -
kullandı. microsoft.com/en-us/library/bb460184.aspx) –