将串联字符串数组放入 Dictionary

本文关键字:int Dictionary 字符串 数组 | 更新日期: 2023-09-27 18:32:20

我有一个字符串数组。 每个字符串都是两个用"|"分隔的数字。

我怎样才能在不循环遍历数组、拆分每个字符串并添加到字典的情况下将这个字符串数组放入Dictionary<int,int>

有没有更好的方法?

将串联字符串数组放入 Dictionary<int, int>

简单地说,

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]);

但您应该知道,如果存在重复的键,这将引发异常。