如果条件不起作用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
它必须进入我提到的第一个条件,但它是在第二个条件下进入的???
希望您的建议提前感谢
您可以转换为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
还要尽量避免将整数值转换为字符串,然后对照字符串进行检查
这毫无意义。如果该表中存储了一个整数,则将其转换为整数并对照整数进行检查。