如何将字符串解析为整数?
How to parse a string to integer?
我想使用 CalcEngine
库在文本框中进行数学计算。以下代码是整个项目的一部分。为什么会报错?错误在 CE.Evaluate(textBoxTLA.Text).ToString()
中。错误说:
Argument 2 should be passed by out keyword.
private void button1_Click(object sender, EventArgs e)
{
CalcEngine.CalcEngine CE = new CalcEngine.CalcEngine();
int.TryParse(textBoxTLA.Text, CE.Evaluate(textBoxTLA.Text).ToString());
}
TryParse
将整数作为第二个参数,而您提供的是 String
.
它是这样工作的(我不知道你要解析哪个字符串,我假设是评估的):
int target;
CalcEngine.CalcEngine CE = new CalcEngine.CalcEngine();
int.TryParse(CE.Evaluate(textBoxTLA.Text).ToString(), out target);
但是最好使用Parse
,这样您就可以进行更正的错误处理(加上代码将更具可读性)。
此外,您在一行中做了很多事情,这使得调试和向用户提供清晰的信息变得更加困难。例如,如果 CE.Evaluate
失败怎么办?
TryParse 接收两个参数,一个是你要解析的字符串,一个是接收输出的 out 参数..
假设我的字符串是 textBoxTLA.Text
,我会像这样将它解析为 int:
int myInt;
if(int.TryParse(textBoxTLA.Text, out myInt))
{
//Do whatever you need with calcEngine
}
它这样做是为了 return 它是否成功的 bool 值,所以如果你不输入 if,它就无法解析 int。确保使用它并避免错误和异常。
我想使用 CalcEngine
库在文本框中进行数学计算。以下代码是整个项目的一部分。为什么会报错?错误在 CE.Evaluate(textBoxTLA.Text).ToString()
中。错误说:
Argument 2 should be passed by out keyword.
private void button1_Click(object sender, EventArgs e)
{
CalcEngine.CalcEngine CE = new CalcEngine.CalcEngine();
int.TryParse(textBoxTLA.Text, CE.Evaluate(textBoxTLA.Text).ToString());
}
TryParse
将整数作为第二个参数,而您提供的是 String
.
它是这样工作的(我不知道你要解析哪个字符串,我假设是评估的):
int target;
CalcEngine.CalcEngine CE = new CalcEngine.CalcEngine();
int.TryParse(CE.Evaluate(textBoxTLA.Text).ToString(), out target);
但是最好使用Parse
,这样您就可以进行更正的错误处理(加上代码将更具可读性)。
此外,您在一行中做了很多事情,这使得调试和向用户提供清晰的信息变得更加困难。例如,如果 CE.Evaluate
失败怎么办?
TryParse 接收两个参数,一个是你要解析的字符串,一个是接收输出的 out 参数..
假设我的字符串是 textBoxTLA.Text
,我会像这样将它解析为 int:
int myInt;
if(int.TryParse(textBoxTLA.Text, out myInt))
{
//Do whatever you need with calcEngine
}
它这样做是为了 return 它是否成功的 bool 值,所以如果你不输入 if,它就无法解析 int。确保使用它并避免错误和异常。