我有一个集合,我想将其转换成字典。这是代码:
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
中得到了类似的内容。
如何更改它,使字典的值对于集合中的每个元素都是第一个“=”之后的所有内容?
最佳答案
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));
关于c# - 拆分字符串并在第一次出现后获取所有内容 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54146466/