我有一个要转换成字典的收藏集。这是代码:
myCollection.ToDictionary(item => item.Split('=')[0], item => item.Split('=')[1]);
成为收藏之类的东西
{"a=312d","b=dw234","c=wqdqw3=3")
问题出在第三个对象上。如您所见,它的内部具有第二个相等的元素。此字符及其后的所有字符也是值的一部分(在字典中应为c:wqdqw3=3
)。但是,正如您可以想象的那样,我在字典a:312d, b:dw234, c:wqdqw3
中得到了类似的内容。
您如何更改它,以使字典的值对于集合的每个元素而言,都是第一个'='之后的所有内容?
答案 0 :(得分:3)
IndexOf()
和Substring()
应该在这里有所帮助
string[] input = { "a=312d", "b=dw234", "c=wqdqw3=3" };
var result = input.ToDictionary(x => x.Substring(0, x.IndexOf('=')),
x => x.Substring(x.IndexOf('=') + 1));