如果我有一个类型为T的现有Hashset,我将如何创建一个类似的字典;
Dictionary<T, object> tmp = new Dictionary<T, object>();
可以使用以下代码
完成此操作Hashset<string> hashset = new Hashset<string>()
foreach(var key in hashset)
tmp[key] = null;
有没有更简单的方法来做这件事,而不是有一个循环?
答案 0 :(得分:7)
是的,使用同时具有键选择器和值选择器参数的overload of the Enumerable.ToDictionary
扩展方法。
var dictionary = hashset.ToDictionary(h => h , h => (object)null);
因为您正在为值选择null
,所以必须确保它为空object
(null
需要指定类型),因此演员。