c# - 需要简单的 linq

标签 c# linq

我有一个类型为 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 的键和列表与该键相关联作为值。

非常感谢。

最佳答案

var dic = links.GroupBy(x=>x.SourceID)
               .ToDictionary(x=> x.Key, x => x.Select(y=>y.TargetId).ToList());

关于c# - 需要简单的 linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10388609/

相关文章:

c# - Linq 选择 : Using a value from a list if available

c# - 使用经度和纬度查找给定距离内的所有附近客户

c# - 可观察到的节流

c# - Naudio-将音频流放入值[-1,1]

c# - 在 C# 中生成随机值

c# - 如何更新 Sitecore 索引中的单个项目?

c# - 如何调试 .NET Framework 源代码

.net - 重构 LINQ IQueryable 表达式以删除查询的重复部分

c# - 使用 LINQ 获取接口(interface)类型 [] 上的所有方法?

c# - 如何使用 Orderby 创建动态 linq 查询?