如果一个函数返回值为布尔型,如
function fun01:boolean;
begin
  result := false;
  ...
  result := true;
end;那么在程序中如何判断fun01的返回值呢,下面两种那种好呢:1: if not fun01 then xxx;
2:  if fun01 = false then xxx;
我从前用第一种,运行的很好。后来忘了在哪里看到说:判断布尔变量用第一种,而函数返回值用第二种比较好。我也忘了具体什么原因。我便改成第二种。我在一个项目中用了第二种半年多,也运行的很好。不过,最近“老大”调程序调不通,非说是我的程序有问题,固执的全让我改成第一种。妈呀,那么多怎么改哈?所以特请教各位大虾,讨论一下到底哪种好呢,会不会出问题?

解决方案 »

  1.   

    if not fun01 then xxx; 比较专业一较。
      

  2.   

    看Delphi的一些源码很少用 if fun01=false then 这样来写的。
      

  3.   

    一般的布尔类型用if not fun01 then xxx;
    你们“老大”是一般人,你就谅解他吧:)
      

  4.   

    我一般也用if not fun01 then xxx;
    如果老大真的要你全改,建议用untra-edit,用它的正则表达式修改要比delphi本身要方便些
      

  5.   

    if not fun01 then xxx;
    一般我这样用,但好像没很大区别
      

  6.   

    俺习惯了 用C++ 都是 if (!...) 呵呵 其实都没什么了。。风格而已不过俺是 强烈推荐用 NOT..
      

  7.   

    Delphi的编译器作相同处理.不信你看看DCU的的汇编代码即明白.
      

  8.   

    是的 默认优化状态下 
    这样产生的ASM代码都是一样的
    都为test al, al; 还是看个人习惯 = False 这样比较直观一些 但是感觉不够简练 呵呵。
      

  9.   

    混分来了..
    我也是习惯用if not ,
      

  10.   

    习惯了用IF NOT的
    从来没用过=False这样的本质其实都是一样的