很明显是第一种。
A==true和A==false这种就是垃圾,完全没有什么好处,是写代码的人没有搞懂变量的命名,变量的使用以及布尔值的意义,布尔值的用法。

解决方案 »

  1.   

    if(?)//直接得到结果
    {
    .....
    }
    =============上下2种写法,哪种符合net书写规范?效率上有什么区别?
    if((A==True)?)//要通过比较才能得到结果
    {
    ...
    }
      

  2.   

    为什么效率一样,因为true、false相当于常量,编译器会直接优化掉的。
      

  3.   

    第二种写法是考虑到维护的问题,利于快速找到定位点;还为避免写成(!bool)这种形式,因为有时!不好看出来
      

  4.   

    如果觉得第2种(A == True)看起来顺,则说明你还需要写10万行代码。
      

  5.   

    if()  括号里不就是放bool值的吗?需要放的东西本身就是bool了还需要 == 判断 ?
      

  6.   

    if本身就是对bool判断,第一和第二是一样的,除了个人喜好不同,没有其它解释,包括效率也是一样的。
      

  7.   

    true时我选第一种,false我选第二种。我喜欢简洁,但是又不喜欢那个小感叹号,太小了。
    另外,布尔变量的命名也很重要。if(isNull) 
    {
    }
    if(isNull == false) 
    {
    }
      

  8.   

    我还清楚的记得上次做项目  bool值判断  我写成 A==true  被项目经理说了
      

  9.   

    习惯第二种,bVar==true这种,反正最后会被编译器优化掉。
    当然第一种if(bVar)也可以接受,
    但if(!bVar)这种就无法接受了,得bVar==false才能接受,bVar!=true次之。
      

  10.   

    bool A=true;
    if(A)
    {
    .....
    }
    else
    {
    ....
    }或者bool A=true;
    if(!A)
    {
    .....
    }
    else
    {
    ....
    }
      

  11.   

    不过,我们可以假设这里的代码 bool A=true 只是一种不恰当的纠结,而并不是真实的设计。真实的程序设计,往往是这样的bool 已经开始预订 = ......
    if( 已经开始预订)
    {
       ......
    }
    else
    {
       ......
    }也就是说,既不会随便弄一个什么缺乏业务意义的 A 当作变量名,而且其右边的表达式往往也是有一定算法、稍微复杂的(甚至是一个过程)。这样, if 判断就显得跟正常普通人的语言完全一致了。
      

  12.   

    我们平常说话的逻辑是这样的if(带的钱够吃大餐)
    {
        ......
    }
    else
    {
       ......
    }反之,如果有人”书生强迫症“比较严重,也许这样(?):if( 带的钱够吃大餐->我真的带的钱够吃大餐吗?->哦是的-->这等于true)
    {
        .......
    }
    else
    {
       .....
    }