C# 布尔值判断语法,那种正确? 很明显是第一种。A==true和A==false这种就是垃圾,完全没有什么好处,是写代码的人没有搞懂变量的命名,变量的使用以及布尔值的意义,布尔值的用法。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if(?)//直接得到结果{.....}=============上下2种写法,哪种符合net书写规范?效率上有什么区别?if((A==True)?)//要通过比较才能得到结果{...} 为什么效率一样,因为true、false相当于常量,编译器会直接优化掉的。 第二种写法是考虑到维护的问题,利于快速找到定位点;还为避免写成(!bool)这种形式,因为有时!不好看出来 如果觉得第2种(A == True)看起来顺,则说明你还需要写10万行代码。 if() 括号里不就是放bool值的吗?需要放的东西本身就是bool了还需要 == 判断 ? if本身就是对bool判断,第一和第二是一样的,除了个人喜好不同,没有其它解释,包括效率也是一样的。 true时我选第一种,false我选第二种。我喜欢简洁,但是又不喜欢那个小感叹号,太小了。另外,布尔变量的命名也很重要。if(isNull) {}if(isNull == false) {} 我还清楚的记得上次做项目 bool值判断 我写成 A==true 被项目经理说了 习惯第二种,bVar==true这种,反正最后会被编译器优化掉。当然第一种if(bVar)也可以接受,但if(!bVar)这种就无法接受了,得bVar==false才能接受,bVar!=true次之。 bool A=true;if(A){.....}else{....}或者bool A=true;if(!A){.....}else{....} 不过,我们可以假设这里的代码 bool A=true 只是一种不恰当的纠结,而并不是真实的设计。真实的程序设计,往往是这样的bool 已经开始预订 = ......if( 已经开始预订){ ......}else{ ......}也就是说,既不会随便弄一个什么缺乏业务意义的 A 当作变量名,而且其右边的表达式往往也是有一定算法、稍微复杂的(甚至是一个过程)。这样, if 判断就显得跟正常普通人的语言完全一致了。 我们平常说话的逻辑是这样的if(带的钱够吃大餐){ ......}else{ ......}反之,如果有人”书生强迫症“比较严重,也许这样(?):if( 带的钱够吃大餐->我真的带的钱够吃大餐吗?->哦是的-->这等于true){ .......}else{ .....} 32位下的项目,放到64位下编译不通过? TCP/IP 的 socket服务器怎么处理 高链接(1万个以上) 高并发的链接请求? C# datagridview合计行 Access语法错误,操作符丢失 超无敌ComBoBox带源码改良版 新手求教! c# 使用字符串保存sql语句,用什么字符表示换行? 如何用SQLADAPTER新建表 C#中的类型转化方法?? 菜鸟请教)入门问题,关于过滤感应器信号 如何使指定的程序得到焦点的? 怎样才能完全退出程序
{
.....
}
=============上下2种写法,哪种符合net书写规范?效率上有什么区别?
if((A==True)?)//要通过比较才能得到结果
{
...
}
另外,布尔变量的命名也很重要。if(isNull)
{
}
if(isNull == false)
{
}
当然第一种if(bVar)也可以接受,
但if(!bVar)这种就无法接受了,得bVar==false才能接受,bVar!=true次之。
if(A)
{
.....
}
else
{
....
}或者bool A=true;
if(!A)
{
.....
}
else
{
....
}
if( 已经开始预订)
{
......
}
else
{
......
}也就是说,既不会随便弄一个什么缺乏业务意义的 A 当作变量名,而且其右边的表达式往往也是有一定算法、稍微复杂的(甚至是一个过程)。这样, if 判断就显得跟正常普通人的语言完全一致了。
{
......
}
else
{
......
}反之,如果有人”书生强迫症“比较严重,也许这样(?):if( 带的钱够吃大餐->我真的带的钱够吃大餐吗?->哦是的-->这等于true)
{
.......
}
else
{
.....
}