簡體   English   中英

C#字典過濾(LINQ)和列表擴展方法過濾值並獲取鍵

[英]C# Dictionary filtering (LINQ) and list extension method filtering values and getting the key

我有字典fooDictionary<string, MyObject>

我正在過濾fooDictionary以僅獲取具有特定屬性值的MyObject。

fooDictionary.Values.Where(x=>x.Boo==false).ToList().ExtensionMethod();

//(擴展方法是我為列表創建的擴展方法(以進行更多過濾)(PS:ExtensionMethod僅返回1x MyObject))但是我也想獲取已過濾的MyObject的鍵。 我怎樣才能做到這一點?

當您使用fooDictionary.Values.Where(...)對字典值進行操作時,您將不再有權訪問鍵。

而是將查詢更改為:

fooDictionary.Where(x => x.Value.Boo == false).ToList().ExtensionMethod();

ToList()調用之后,這將產生一個List<KeyValuePair<string, MyObject>>因此既保留了鍵也保留了相應的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM