首页 新闻 搜索 专区 学院

请问,这几行代码可有优化的方法?

0
悬赏园豆:20 [已解决问题] 解决于 2015-02-10 14:25
IEnumerable<string> permissionList;
Dictionary<stringbool> permissions = new Dictionary<stringbool>();

foreach
 (string item in permissionList)            
{               
  permissions.Add(item, false);            
}
Eysa的主页 Eysa | 初学一级 | 园豆:70
提问于:2015-02-09 13:32
< >
分享
最佳答案
1

推荐一下resharper 代码重构工具

IEnumerable<string> permissionList = null;
Dictionary<string, bool> permissions = permissionList.ToDictionary(item => item, item => false);

收获园豆:20
[人在江湖] | 菜鸟二级 |园豆:258 | 2015-02-09 15:30

大概就是这样了

arg | 园豆:1047 (小虾三级) | 2015-02-09 18:43
其他回答(2)
0

列表变为字典是需要判断键是否重复,键是否有大小写约束,从程序的角度考虑,你还需要判空,去重。当然如果仅仅是列表变字典,优化的写法很简单,如下:

IEnumerable<string> permissionList = null;
Dictionary<string, bool> permissions = null;
if (permissionList == null)
{
    permissions = new Dictionary<string, bool>();
    return permissions;
}

permissions = permissionList.Distinct().ToDictionary(x => x, y => { return false; });
JeffWong | 园豆:2021 (老鸟四级) | 2015-02-09 14:59
0

应该只能算简写吧。。外加key不唯一也没有判断。

Sheldon_Lou | 园豆:225 (菜鸟二级) | 2015-02-09 23:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册