繁体   English   中英

C#字典词典查询

[英]c# `dictionary of dictionary` query

有人可以告诉我正确的查询方法:

dictionary of dictionary

Dictionary<int, Dictionary<Guid, AutoStopWatchAndLog>> _dicDictionaryThread

我要寻找的是来自第一个级别的任何内容,然后来自第二个级别小于x的任何项目

dics的下面是: Dictionary<int, Dictionary<Guid, AutoStopWatchAndLog>>

var mostlikey = dics.FirstOrDefault(x=>x.Value.Where(y=>y.Value.Level > x));

如果要投影到已过滤为所需项目的字典词典,则需要投影两个级别的字典,如下所示:

var query = _dicDictionaryThread.Select(o => new {o.Key, Value = o.Value
                                                                  .Where(y=>y.Value.Level > x)
                                                                  .ToDictionary(y => y.Key, y => y.Value)})
                                .Where(o => o.Value.Any())
                                .ToDictionary(o => o.Key, o => o.Value);

如果您可以轻松理解它并向其他人解释,请继续使用它,否则,请使用传统循环-您不会从Linq获得任何性能提升,并且可能需要花费更长的时间才能解密。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM