小编Mar*_*cus的帖子

将List <MyObject>转换为Dictionary <obj.string,List <obj.ID >>

我想获取一个对象列表并将其转换为一个字典,其中键是对象中的一个字段,该值是对象上与键匹配的不同字段的列表.我现在可以通过循环执行此操作,但我觉得应该可以使用linq完成并且不必编写循环.我在想的组合GroupByToDictionary,但一直不成功至今.

这就是我现在正在做的事情:

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);
}
Run Code Online (Sandbox Code Playgroud)

我能得到的最远的.GroupBy().ToDictionay()Dictionary<sample.ResultString, List<sample>>.

任何帮助,将不胜感激.

.net c# linq

26
推荐指数
1
解决办法
3万
查看次数

标签 统计

.net ×1

c# ×1

linq ×1