这是从C保留下来的。在C中,如果您使用错误的编译器或没有将警告调得足够高,那么它将在没有警告的情况下进行编译(实际上是合法代码):
// Probably wrongif (x = 5)
当你实际上可能意味着
if (x == 5)
您可以通过以下方法在C中解决此问题:
if (5 == x)
此处输入错误将导致代码无效。
现在,在C#中,这简直就是难题。除非您要比较两个布尔值(IME很少见),否则您可以编写更具可读性的代码,因为“ if”语句需要以布尔表达式开头,并且“
x=5” 的类型为
Int32,不是
Boolean。
我建议,如果您在同事的代码中看到了这一点,请以现代语言的方式对其进行教育,并建议他们将来编写更自然的形式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)