如何将字符串解析为整数?

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。确保使用它并避免错误和异常。