c# - 拆分字符串并在第一次出现后获取所有内容 - C#

标签 c# string

我有一个集合,我想将其转换成字典。这是代码:

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/

相关文章:

c# - 带锁的并行方法执行 .NET C#

C# - 具有动态数量可绑定(bind)属性的类

c# - .NET 堆填满了字符串对象 -> OutOfMemoryException

java - JTextField 清算时的值(value)迷失

javascript - 为每个字母添加跨度,但避免使用 javascript 的 html 标签

javascript - 如何在javascript中获取字母的重音/变音符号?

c# - 如何从委托(delegate)访问变量?

c# - RuntimeBinderException 因为 Razor 中的空引用

javascript - 使用 if/else 语句的函数

c# - 当更多字符看起来像时,在 equal() 中获得 true