像if(0==model.ID)这样的判断,为什么提倡要将“0”写在前面,这样“if(model.ID==0)”判断不行吗???

解决方案 »

  1.   

    c#中没必要。这种写法在c++中是为了防止手误写成 "model.ID = 0" 的。 c#中if语句只能用bool型来判断,没必要那样写。误写成 model.ID = 0 编译器将报错
      

  2.   

    一种防御性写法在c#里面看不出来特别的好处,不过你去写javascript的话,就知道他的好处了
      

  3.   

    首先,“提倡”这个说法不成立。学习任何一门语言,看官方自己的代码编写约定。你可以参考下 .NET 类库源代码。没有迹象表明,这种风格是被“提倡”的。
      

  4.   

    还是跟开发语言及IDE有很大关系,常量写在后面看起来更接近自然语言的逻辑
    C或者C++里还是写在前面为好,--提倡
      

  5.   

    好吧我看到了   不知道你model。id是什么类型的问题没有只是看的别扭
      

  6.   

    在C++里,如果误写成了 if(ID = 0)这样不但编译通过,而且会判断为真,直接执行下面的语句。这样写,只是为了防止出现不该有的错误,但在C#里,这样写连编译都不会通过,所以把常量写在前面还是后面都无所谓。个人认为这并不是一种什么提倡或说为了看着不别扭,这仅仅就是一种语言的约定或编程习惯。