c# - 从 KeyValuePairs 集合中获取 Key

标签 c# linq

我试图最终了解 LINQ,但我正在努力解决以下问题......

我有一个 KeyValuePair 集合,定义如下:

IList<KeyValuePair<int, MyCustomType>>

其中允许 KeyValuePair 的 int Key 在集合中重复。

如何从该集合中获取唯一键的集合(数组、IList - 我不关心)?

我知道我需要使用 Distinct,但我正在为我的集合中的 KeyValuePair 而苦苦挣扎,并找到关键...

最佳答案

只是:

var keys = pairs.Select(x => x.Key)
                .Distinct()
                .ToList();

当然,如果对的集合最初来自字典,您可以删除 Distinct() 调用,因为它们已经不同了。

关于c# - 从 KeyValuePairs 集合中获取 Key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7848133/

相关文章:

c# - 防止 Visual Studio 在复制粘贴时自动导入命名空间

c# - try 和 catch 语句有困难吗?

c# - 反序列化 XML Rest WebApi 调用?

c# - 如何使用linq删除重复记录?

c# - 如何使用 linq lambda 对每 7 天进行分组和求和?

c# - 应该避免 IEnumerable 的 Count() 吗?

c# - 我的 C# 应用程序如何测试用户是否具有 "Read"网络共享访问权限?

c# - 如何压缩一个 IEnumerable 自身

c# - Entity Framework 6 延迟加载怪癖

c# - LINQ 查询 - 最近的相邻日期