将字符串转换为int然后再转换回字符串
c#
我试图将我的字符串变量转换为整数以向它添加一个值(+1),但我得到的结果是:
1111
事实上,当我将它重新转换为字符串时,我总共应该得到 4 个。
我究竟做错了什么?
public string str_Val = "1";
void Update () {
if (str_Val != "5") {
str_Val = int.Parse (str_Val + 1).ToString ();
}
}
回答
这完全取决于操作的优先级:
int.Parse (str_Val + 1)
另外,在上述第一加法行发生str_Val + 1outputing 11,111,111等。
然后解析发生更改"11"为11
然后到字符串发生更改11为"11"
因此,将您的代码更改为
str_Val = (int.Parse(str_Val)+1).ToString();
这将首先将字符串转换为 int,然后添加两个整数,最后再次将整数转换为字符串。