我已经看到了编写if声明的不同方式.
您更喜欢哪一个?为什么?
if (val % 2 == 1){output = “Number is odd”;}else{output = “Number is even”;}
Run Code Online (Sandbox Code Playgroud)
if (val % 2 == 1)
{
output = “Number is odd”;
}
else
{
output = “Number is even”;
}
Run Code Online (Sandbox Code Playgroud)
if (val % 2 == 1)
output = “Number is odd”;
else
output = “Number is even”;
Run Code Online (Sandbox Code Playgroud)
if (val % 2 == 1){
output = “Number is odd”;
} else {
output = “Number is even”;
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 49
对于这样的情况,还有条件运算符:
output = (val % 2 == 1) ? "Number is odd" : "Number is even";
Run Code Online (Sandbox Code Playgroud)
如果你肯定会使用"if"我将使用版本2或版本4,这取决于你的支撑风格的其余部分.(在工作中我使用4;对于我使用的个人项目2.)主要的是,即使在单个语句周围也有括号.
顺便说一句,为了测试奇偶校验,它使用起来稍微快一些:
if ((val & 1) == 1)
Run Code Online (Sandbox Code Playgroud)
Bry*_*ble 17
版本2.我总是包含括号,因为如果您需要在条件下放置多行,则不必担心将括号放在以后的日期.这样,它确保所有if语句具有相同的结构,这有助于扫描某个if语句的代码.
Kha*_*aji 12
我使用的是版本2.
如果你没有其他的话,使用花括号的一个原因会变得更清楚.
if(SomeCondition)
{
DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
如果您需要添加另一行代码,则不太可能出现问题:
if(SomeCondition)
{
DoSomething();
DoSomethingElse();
}
Run Code Online (Sandbox Code Playgroud)
如果没有支撑,你可能会这样做:
if(SomeCondition)
DoSomething();
DoSomethingElse();
Run Code Online (Sandbox Code Playgroud)
Jac*_*ams 10
我个人更喜欢3.额外的花括号只会增加太多不必要的视觉噪音和空白.
我可以在某种程度上看到2/4减少错误的原因,但我个人从来没有过错,因为在if语句中考虑额外的行.我使用C#和visual studio,因此我的代码始终保持格式良好.如果我是一个更记事本风格的程序员,这可能是一个问题.
以上都不是.
如果我的执行单元只有一个行(即使它是一个巨大的声明),那么我不使用大括号,但我做缩排,类似于#3
if (num > 3)
print "num is greater than 3";
else
print "num is not greater than 3";
Run Code Online (Sandbox Code Playgroud)
多个语句不需要花括号的示例:
if (num > 3)
for (int i = 0; i < 100)
print i + "\n";
else
print "booya!";
Run Code Online (Sandbox Code Playgroud)
也就是说,Jon Skeet在这个问题上的回答是最好的