簡體   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