【发布时间】:2016-06-09 03:45:02
【问题描述】:
我正在阅读一个包含这行字符串的文本文件。并将其值获取到我的整数变量中。我想尽量避免使用类或数组。
string cont = "[]val1:1val2:0val3:1";
int split = cont.IndexOf("val3:");
int val3 = Int32.Parse(cont.Substring(split + 5)); // this line successfully convert string to int
cont.Remove(split);
Console.WriteLine("Value3: " + val3 + " Content: " + cont);
split = cont.IndexOf("val2:");
int val2 = Int32.Parse(cont.Substring(split + 5)); // LINE 21
cont.Remove(split);
Console.WriteLine("Value2: " + val2 + " Content: " + cont);
split = cont.IndexOf("val1:");
int SilverCoins = Int32.Parse(cont.Substring(split + 5));
cont.Remove(split);
Console.WriteLine("Value1: " + val1 + " Content: " + cont);
当我运行此代码时,我得到一个未处理的异常,它指出 Input string was not in a correct format, at System.Int32.Parse(String s), line 21。 :(
所以,我想要的输出应该是
Value3: 1 Content: []val1:1val2:0
Value2: 0 Content: []val1:1
Value1: 1 Content: []
【问题讨论】:
-
您能否将完整的例外添加到您的问题中?
-
你到底想从你的字符串中提取什么?多个值还是只有一个特定值?
-
cont.Substring(split + 5)返回的值似乎不是有效数字,当它尝试转换时,它失败了。
标签: c# string substring indexof