Я хотел бы взять список объектов и преобразовать его в словарь, где ключ - это поле в объекте, а значение - это список другого поля в объектах, которые соответствуют ключ. Я могу сделать это сейчас с помощью цикла, но я считаю, что это можно сделать с помощью linq и не писать цикл. Я думал о комбинации GroupBy
и ToDictionary
, но пока безуспешно.
Вот как я это делаю прямо сейчас:
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);
}
Максимальное расстояние, которое я могу получить с .GroupBy (). ToDictionay ()
, это Dictionary
.
Любая помощь будет принята с благодарностью.