1

我有一个小问题要在控制器中进行简单的数学计算。

我尝试做的是将 +1 添加到变量的数量。

这是一个示例,您可以更好地理解我尝试做的事情:

 var a= formcollection["Id_this"];

 var next = a + 1;

注意:Id_this”的值为"1".

我需要的变量结果next2

我的问题是变量的结果next"12".

4

3 回答 3

4

a是一个string。将数字添加到字符串会导致将数字转换为字符串并连接起来。

要使其工作,您首先需要转换a为数字:

var next = Convert.ToInt32(a) + 1;
于 2013-10-16T09:21:56.673 回答
1

原因是您正在进行字符串连接。试试这个安全的方法:

int number;
int next = 0;

if(Int32.TryParse(formcollection["Id_this"], out number))
{
   next = number + 1;
}
else
{
   //formcollection["Id_this"] is not a number
}
于 2013-10-16T09:22:50.930 回答
0

像这样 :

var next = int.Parse(a) + 1;
于 2013-10-16T09:20:44.513 回答