第一个代码:
if(i==0) {// do instructions here}
第二个代码:
if(0==i) { // do instructions here }
block 之间有什么区别?
最佳答案
功能上,没有区别。
一些开发人员更喜欢编写第二种格式以避免赋值拼写错误(以防您错过 =
),这样编译器会发出拼写错误警告。
第二个是著名的 Yoda Condition .
我说没有区别是因为,你不能防范每一个微小的细节并依赖编译器为你大声呼喊。如果你打算写一个 ==
你应该期望自己写一个 ==
而不是 =
。
使用第二种格式只会导致一些晦涩难懂的代码。
此外,大多数主流编译器警告 assignment 而不是 equality emitting an warning 的错字 一旦您启用了所有警告(无论如何您都应该启用)。
关于c# - i==0 和 0==i 有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10656419/