就是在这两年条件差异
return Convert.ToInt32(cmd.ExecuteScalar()) == 1 ? true : false;
return res =! 0 ? true:false;
return Convert.ToInt32(cmd.ExecuteScalar()) > 0 ? true : false;
正是在这三个条件差当我检查的信息中存在表[MySQL的]
就是在这两年条件差异
return Convert.ToInt32(cmd.ExecuteScalar()) == 1 ? true : false;
return res =! 0 ? true:false;
return Convert.ToInt32(cmd.ExecuteScalar()) > 0 ? true : false;
正是在这三个条件差当我检查的信息中存在表[MySQL的]
所有这三个版本有差异略微不同的逻辑:
true
当值为1
,否则false
。0
时,第二个版本返回false
,否则为true
。true
,否则为false
。如果你的价值永远只能是0
或1
然后他们三个人都将是相同的功能,但是这不是通过代码本身,因为一个Int32
保证有2^32个不同的国家。
那么,第一个和第三个表达式是相似的。但是,只有结果为1时,第一个返回true,只要结果不为零,第三个返回true。因此,如果sql命令返回2例如,结果将会不同。
表达式第二,我不知道为什么你想要与其他两个比较。
顺便说一下,三元运算符?:在所有三行中都是多余的。你也可以写
return Convert.ToInt32(cmd.ExecuteScalar()) == 1;
return res =! 0;
return Convert.ToInt32(cmd.ExecuteScalar()) > 0;
你不需要在任何这些中指定? true : false
。只需return Convert.ToInt32(cmd.ExecuteScalar()) == 1;
(例如)就可以做到这一点。就数据库而言,没有区别,应用程序中的任何性能差异都可忽略不计,应予以忽略。剩下的只是比较结果等于1,不等于0或大于零的基本逻辑差异。
您正在使用三元运算符。
一速>return Convert.ToInt32(cmd.ExecuteScalar()) == 1 ? true : false;
真: - 当的Convert.ToInt32(cmd.ExecuteScalar())
输出等于1 假:-if其不等于1
的2阶>return res =! 0 ? true:false;
它具有语法错误
正确的是return res != 0 ? true:false;
它有语法错误
真: - 当资源不等于0
题:-if水库等于0
3rd->return Convert.ToInt32(cmd.ExecuteScalar()) > 0 ? true : false;
真:的Convert.ToInt32(cmd.ExecuteScalar())
-if值大于0。
否则返回false。
这是什么'MySQL'? – codaddict 2010-08-31 11:43:42
你好 第二个有语法错误。正确吧 return res!= 0?真假; – PrateekSaluja 2010-08-31 12:08:41
是的,我是手写第二个不复制,所以这是我的错。 – zinka 2010-08-31 14:24:31