字符串到int formatexception

mgi*_*ota 2 .net c#

在PHP我可以做这样的事情:

if (balance == 0 && !neverBought)
Run Code Online (Sandbox Code Playgroud)

余额来自API,是一个字符串.

在C#中,我尝试将balance转换为int,如下所示:

if (int.Parse(balance) == 0 && !(neverBought))
Run Code Online (Sandbox Code Playgroud)

但是我得到了异常详细信息:System.FormatException:输入字符串的格式不正确.

我究竟做错了什么?

Ser*_*rvy 7

如果您不确定该字符串是否有效,请使用一种方法,例如TryParse尝试解析它而不抛出异常:

基于注释你也没有整数,你有一个十进制值,所以你也应该把它解析为一个.

decimal decimalBalance;
if(decimal .TryParse(balance, out decimalBalance) 
    && decimalBalance == 0m && !neverBought)
Run Code Online (Sandbox Code Playgroud)