好的,所以您可以通过dictionary[key]
或获得单个值或所有值dictionary.Values
.
我正在寻找的是一种获取给定键集的所有值的方法:
List<string> keys;
Dictionary<string, object> dictionary;
List<object> valuesForKeys = GetValuesFromDictionaryUsingKeys(dictionary, keys);
Run Code Online (Sandbox Code Playgroud)
同
private List<object> GetValuesFromDictionaryUsingKeys(Dictionary<string, object> dictionary, List<string> keys)
{
//your code here
}
Run Code Online (Sandbox Code Playgroud)
当然,我可以手动遍历密钥列表并使用dictionary[key]
每次并将所有值重新添加回列表,但我想使用更优雅的方式(例如Linq).
谢谢.
为什么在日常使用时可以使用通用扩展方法来编写函数?
public static IEnumerable<V> GetValues<K, V>(this IDictionary<K, V> dict, IEnumerable<K> keys)
{
return keys.Select((x) => dict[x]);
}
Run Code Online (Sandbox Code Playgroud)
编辑:比你写的:
var valuesForKeys = dictionary.GetValues(keys).ToList();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11806 次 |
最近记录: |