生病了。我正在使用正则表达式从设置文件中获取匹配项。它只是获取默认值。我参加比赛,让它打印字符串匹配。然后我使用 Convert.toInt32(match) 并将其放入 int tempval。这是代码。
string[] settings = System.IO.File.ReadAllLines("Settings.txt");
MatchCollection settingsmatch;
Regex expression = new Regex(@"first number: (\d+)");
settingsmatch = expression.Matches(settings[0]);
MessageBox.Show(settingsmatch[0].Value);
int tempval = Convert.ToInt32("+" + settingsmatch[0].Value.Trim()); //here is the runtime error
numericUpDown1.Value = tempval;
这是设置文本文件:
first number: 35
second number: 4
default test file: DefaultTest.txt
我知道问题是转换,因为我注释掉了 numericupdown 行并且在运行时仍然出现错误。
这是一个格式错误。我不明白。我虽然我的比赛是一个字符串,所以 Convert 应该接受它。此外,messagebox.show 向我显示了一个数字。准确地说是35号。还有什么可能导致这种情况?