c# - i==0 和 0==i 有区别吗?

标签 c# php c++ c

第一个代码:

  if(i==0) {// do instructions here}

第二个代码:

  if(0==i) { // do instructions here }

block 之间有什么区别?

最佳答案

功能上,没有区别。
一些开发人员更喜欢编写第二种格式以避免赋值拼写错误(以防您错过 =),这样编译器会发出拼写错误警告。
第二个是著名的 Yoda Condition .

Yoda Condition

我说没有区别是因为,你不能防范每一个微小的细节并依赖编译器为你大声呼喊。如果你打算写一个 == 你应该期望自己写一个 == 而不是 =
使用第二种格式只会导致一些晦涩难懂的代码。
此外,大多数主流编译器警告 assignment 而不是 equality emitting an warning 的错字 一旦您启用了所有警告(无论如何您都应该启用)。

关于c# - i==0 和 0==i 有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10656419/

相关文章:

c# - 在 C# 中,为什么数组上的 Equals() 方法只比较它们的引用,而不是它们的实际内容

php - 在此服务器上找不到请求的 URL/phpmyadmin/

php - 根据 WooCommerce 统一费率运输方法的自定义字段计算添加交货时间

c++ - QGLViewer 的替代品

c++ - 如何在不取消定义类型的情况下为 C++ 中的类型编写 getter?

c++ - 使用 QDomDocument 类的 xml 文件中的 Lastchild

c# - 我需要帮助确定一种编程技术,以便我可以研究和修复它

c# - StringTemplate:内容[匿名]属性字符串未定义

c# - 将 IEnumerable<IGrouping<,>> 转换为数组

php - Magento 将带有 'bundle_option' 的捆绑产品添加到购物车?