【问题标题】:Query List Dictionary查询列表字典
【发布时间】:2015-11-08 17:31:43
【问题描述】:

我有一个字典列表

var ProductItemsDictionary = new List<Dictionary<string, string>>();

是否可以使用 linq 搜索列表并根据字典中的键查找字典并检索值?

【问题讨论】:

    标签: c# .net linq dictionary


    【解决方案1】:

    当然可以,但值得吗?例如,请参阅 dotctor 的答案。它会完成这项工作,但效率低下 - 2 个键查找(一个用于检查,一个用于检索值)、编译器生成的类和堆分配(因为 specificKey 变量捕获)等。更少的代码?更具可读性?非 linq 等价物呢:

    static void Foo(List<Dictionary<string, string>> ProductItemsDictionary, string key)
    {
        string value;
        foreach (var dictionary in ProductItemsDictionary)
            if (dictionary.TryGetValue(key, out value)) { /* Use value */ }
        // Not found
    }
    

    零分配、最少的键查找、良好的可读性 (IMO) - 我们还需要什么? :-)

    【讨论】:

      猜你喜欢
      • 2020-11-30
      • 2018-01-14
      • 1970-01-01
      • 2021-12-18
      • 2016-10-17
      • 2016-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多