Int32.TryParse错误

Sar*_*ist 4 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;
}
Run Code Online (Sandbox Code Playgroud)

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

clc*_*cto 5

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

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