[英]C# How do you query a subset of a Dictionary's entries based on the Value's type using Linq?
在使用Linq的C#中,是否可以基於Value的類型提取Dictionary條目的子集,並將其轉換為具有該類型作為value的Dictionary?
基本上,如果你有一個像這樣的詞典:
Dictionary<string, Object> Data;
你可以做一些像:
Dictionary<string, int> IntData = Data.Query();
這樣,新的Dictionary就可以得到Value為int類型的所有整數。 這可能嗎?
Dictionary<string, int> IntData = Data.Where(k => k.Value is int)
.ToDictionary(kv => kv.Key, kv => (int) kv.Value);
嘗試這個:
Dictionary<string, int> IntData = Data
.Where(q => q.Value.GetType() == typeof(int))
.ToDictionary(q => q.Key, q => (int)q.Value);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.