如果条件不起作用ASp.Net

本文关键字:Net ASp 不起作用 条件 如果 | 更新日期: 2023-09-27 18:21:27

我试图在进入条件之前检查条件,但它进入了错误的条件

我的条件是

 if (Target.Tables[0].Rows[0]["T_B_CX"].ToString() == "0" && Convert.ToInt64(Target.Tables[0].Rows[0]["T_B_C"]) >= 100000)
if (Target.Tables[0].Rows[0]["T_B_CX"].ToString() != "0" && Convert.ToInt64(Target.Tables[0].Rows[0]["T_B_C"]) > 10000000)

值为,

T_B_CX = 0 and T_B_C = 2500000000

它必须进入我提到的第一个条件,但它是在第二个条件下进入的???

希望您的建议提前感谢

如果条件不起作用ASp.Net

您可以转换为int并进行如下的比较

if (Convert.ToInt(Target.Tables[0].Rows[0]["T_B_CX"].ToString()) == 0 && Convert.ToInt64(Target.Tables[0].Rows[0]["T_B_C"]) >= 100000)

可能是当我们获得单元格值的ToString时,它返回的字符串不完全等于"0",调试并查看您为Target.Tables[0].Rows[0]["T_B_CX"].ToString() 获得的值

这两个条件之间没有代码,因此第一个条件按预期取值,然后对第二个条件求值,直到!=0.

试着写这样的

// Convert everything just one time here 
int tbcx = Convert.ToInt32(Target.Tables[0].Rows[0]["T_B_CX"]);
long tbc = Convert.ToInt64(Target.Tables[0].Rows[0]["T_B_C"]);
if(tbcx == 0 && tbc >= 100000)
    // code here 
else if(tbcx != 0 && tbc > 2500000000)
    // code here

还要尽量避免将整数值转换为字符串,然后对照字符串进行检查
这毫无意义。如果该表中存储了一个整数,则将其转换为整数并对照整数进行检查。