【问题标题】:Select in LINQ all keys from List of List of KeyValuePairs在 LINQ 中从 KeyValuePair 列表列表中选择所有键
【发布时间】:2013-09-02 01:45:08
【问题描述】:

我有一个 KeyValuePairs 列表,我想将其引入标准表单并进一步将其导出为表格。为此,我需要获取列表中存在的所有唯一键。如何使用 LINQ 获取唯一键?

我的源数据有这种形式:

var sourceData = new List<List<KeyValuePair<string, string>>>();

...

var uniqueKeyNames = sourceData.SomeLinqCodeHere....

非常感谢

【问题讨论】:

    标签: c# linq distinct-values


    【解决方案1】:

    试试这个:

    var uniqueKeyNames = sourceData.SelectMany(l => l).Select(kv => kv.Key).Distinct();
    

    【讨论】:

      【解决方案2】:

      听起来你只需要SelectManySelectDistinct的组合:

      var allKeys = sourceData.SelectMany(list => list) // Flatten to a sequence of KVP
                              .Select(kvp => kvp.Key)   // Select just the keys
                              .Distinct();
      

      请注意,如果您想多次迭代allKeys,您可能需要具体化查询,例如最后调用ToList

      var allKeys = sourceData.SelectMany(list => list) // Flatten to a sequence of KVP
                              .Select(kvp => kvp.Key)   // Select just the keys
                              .Distinct()
                              .ToList();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多