在下面的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;
}
我盯着它看了一个小时,不知道出了什么问题。
答案 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))
// ...