4

我有一个Link类型的 Linq 对象数组,其中包含以下值:

new Link {SourceId = 1, TargetId=22223}
new Link {SourceId = 1, TargetId=2221223}
new Link {SourceId = 1, TargetId=222}
new Link {SourceId = 2, TargetId=26556}
new Link {SourceId = 2, TargetId=264}
new Link {SourceId = 2, TargetId=262}
new Link {SourceId = 2, TargetId=29}

class Link
{
    public int SourceId { get; set; }
    public int TargetId { get; set; }
}

我需要一个 LINQ 语句来输出Dictionary<int, List<int>>包含以下内容的字典:

不同的SourceId作为键和TargetId与该键关联的列表作为值。

非常感谢。

4

2 回答 2

7
var dic = links.GroupBy(x=>x.SourceID)
               .ToDictionary(x=> x.Key, x => x.Select(y=>y.TargetId).ToList());
于 2012-04-30T18:26:07.507 回答
0
Dictionary<int, int> dict = links.ToDictionary(item => 
                                               item.SourceId ,
                                               item => item.TargetId)
于 2012-04-30T18:29:10.107 回答