Ram*_*mie 3 .net c# dictionary hashset
如果我有一个类型为T的现有Hashset,我将如何创建一个字典;
Dictionary<T, object> tmp = new Dictionary<T, object>();
Run Code Online (Sandbox Code Playgroud)
这可以使用以下代码完成
Hashset<string> hashset = new Hashset<string>()
foreach(var key in hashset)
tmp[key] = null;
Run Code Online (Sandbox Code Playgroud)
是否有更简单的方法,而不是循环?
是的,通过使用具有键选择器和值选择器参数的Enumerable.ToDictionary扩展方法的重载.
var dictionary = hashset.ToDictionary(h => h , h => (object)null);
Run Code Online (Sandbox Code Playgroud)
因为你正在选择null值,所以必须确保它是一个null object(null需要用类型指定),因此是强制转换.