我在控制器中进行简单的数学计算有点问题。
我尝试做的是为一个变量添加+1。
以下是一个示例,让您更好地了解我尝试做的事情:
var a= formcollection["Id_this"];
var next = a + 1;
注意:“Id_this
”的值为"1"
。
变量next
所需的结果是2
我的问题是变量next
的结果是"12"
。
答案 0 :(得分:4)
a
是string
。向字符串添加数字会导致数字转换为字符串并连接。
要使其有效,首先需要将a
转换为数字:
var next = Convert.ToInt32(a) + 1;
答案 1 :(得分: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
}
答案 2 :(得分:0)
var next = int.Parse(a) + 1;