簡體   English   中英

C#如何使用Linq根據Value的類型查詢Dictionary的條目子集?

[英]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.

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