Int32.TryParse错误

时间:2018-06-25 22:07:54

标签: c#

在下面的if语句中出现错误“无效的表达式项'int'”:

if(Int32.TryParse(result.Tables[0].Rows[i][26].ToString(), out int number)) 
{
    command.Parameters["@evalpoints"].Value = number;
}
else
{
    command.Parameters["@evalpoints"].Value = 0;
}

我盯着它看了一个小时,不知道出了什么问题。

1 个答案:

答案 0 :(得分:4)

您正在使用语法在使用inline时声明out参数变量。这仅在2017年3月的C#7.0中引入。如果使用的是较旧的编译器或将语言版本设置为低于7.0,则将收到描述的错误,因为它不希望将新变量声明为功能参数。您可以通过将代码扩展为两行并分别声明out参数来解决此问题-这是在引入此功能之前必须完成的方法:

int number;
if(Int32.TryParse(result.Tables[0].Rows[i][26].ToString(), out number))
// ...