使用现有的Hashset作为Keys来创建新的字典

时间:2014-06-05 12:49:11

标签: c# .net dictionary hashset

如果我有一个类型为T的现有Hashset,我将如何创建一个类似的字典;

Dictionary<T, object> tmp = new Dictionary<T, object>();

可以使用以下代码

完成此操作
Hashset<string> hashset = new Hashset<string>()

foreach(var key in hashset)
    tmp[key] = null;

有没有更简单的方法来做这件事,而不是有一个循环?

1 个答案:

答案 0 :(得分:7)

是的,使用同时具有键选择器和值选择器参数的overload of the Enumerable.ToDictionary扩展方法。

var dictionary = hashset.ToDictionary(h => h , h => (object)null);

因为您正在为值选择null,所以必须确保它为空objectnull需要指定类型),因此演员。