加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 02:02:05 所属栏目:百科 来源:网络整理
导读:如果我有一个类型为T的现有Hashset,我将如何创建一个字典; DictionaryT,object tmp = new DictionaryT,object(); 这可以使用以下代码完成 Hashsetstring hashset = new Hashsetstring()foreach(var key in hashset) tmp[key] = null; 是否有更简单的方法,而
如果我有一个类型为T的现有Hashset,我将如何创建一个字典;

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

这可以使用以下代码完成

Hashset<string> hashset = new Hashset<string>()

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

是否有更简单的方法,而不是循环?

解决方法

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

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

因为您为值选择了null,所以必须确保它是一个null对象(null需要用类型指定),因此需要使用强制转换.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读