将字符串列表转换为字典
本文关键字:字典 转换 列表 字符串 | 更新日期: 2023-09-27 17:49:42
我有一个类似["saman=1", "kaman=2"]
的字符串列表如何将其转换为类似{Saman:1 , kaman:2}
的词典
strList.Select(k,v =>new {k,v} , k=> k.split('=')[0], val => v.split('=')[1]);
这应该有效:
strList.ToDictionary(x => x.Split('=')[0], x => x.Split('=')[1])
如果您想要Dictionary<string, int>
,您可以将Value
解析为integer:
strList.ToDictionary(x => x.Split('=')[0], x => int.Parse(x.Split('=')[1]))
您应该先按", "
进行拆分,然后按=
对每个项目进行拆分,以获得键/值对。
额外的Trim
调用将去掉输入字符串开头的["
和末尾的"]
。
var input = @"[""saman=1"", ""kaman=2""]";
var dict = input.Trim('[', '"', ']')
.Split(new [] {@""", """}, StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Split('='))
.ToDictionary(x => x[0], x => x[1]);
非常简单地使用LINQ:
IDictionary<string, string> dictionary =
list.ToDictionary(pair => pair.Key, pair => pair.Value);
请注意,如果有任何重复的密钥,这将失败——我想这没关系吧?