我有一个类型为链接的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
列表作为值。
非常感谢。
答案 0 :(得分:7)
var dic = links.GroupBy(x=>x.SourceID)
.ToDictionary(x=> x.Key, x => x.Select(y=>y.TargetId).ToList());
答案 1 :(得分:0)
Dictionary<int, int> dict = links.ToDictionary(item =>
item.SourceId ,
item => item.TargetId)