【问题标题】:getting Key from collection of KeyValuePairs从 KeyValuePairs 集合中获取 Key
【发布时间】:2011-10-21 10:28:33
【问题描述】:

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

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

IList<KeyValuePair<int, MyCustomType>>

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

如何从该集合中获取唯一键的集合(数组,IList - 我不在乎)?

我知道我需要使用 Distinct,但我正在努力处理我收藏中的 KeyValuePair 并获得 Key...

【问题讨论】:

标签: c# linq


【解决方案1】:

只是:

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

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

【讨论】:

    【解决方案2】:
    list.Select(pair => pair.Key)
        .Distinct()
        .ToArray();
    

    【讨论】:

    • 谢谢你,辛苦了。这是通过 lambda 传递给我的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 2017-09-12
    • 1970-01-01
    • 2014-12-01
    相关资源
    最近更新 更多