【发布时间】:2014-11-27 16:30:40
【问题描述】:
我有一个字符串数组。每个字符串是两个用“|”分隔的数字。
如何在不循环数组、拆分每个字符串并添加到字典的情况下将这个字符串数组放入Dictionary<int,int>。
有没有更好的办法?
【问题讨论】:
标签: c# arrays dictionary
我有一个字符串数组。每个字符串是两个用“|”分隔的数字。
如何在不循环数组、拆分每个字符串并添加到字典的情况下将这个字符串数组放入Dictionary<int,int>。
有没有更好的办法?
【问题讨论】:
标签: c# arrays dictionary
简单地说,
var result = strings
.Select(s => s.Split('|'))
.ToDictionary(a => int.Parse(a[0]), a => int.Parse(a[1]));
如果允许重复,
var result = strings
.Select(s => s.Split('|'))
.ToLookup(a => int.Parse(a[0]), a => int.Parse(a[1]));
【讨论】:
你可以使用ToDictionary方法:
var dictionary = stringArray.ToDictionary(x => x.Split('|')[0], x => x.Split('|')[1]);
但你应该知道,如果有重复的键,这将引发异常。
【讨论】: