C# if, if...else, if... else if
示例
该if语句用于控制程序的流程。一条if语句根据Boolean表达式的值标识要运行的语句。
对于单个语句,braces{}是可选的,但建议使用。
int a = 4;if(a % 2 == 0)
{
Console.WriteLine("a contains an even number");
}
// output: "a contains an even number"
该if还可以有一个else条款,将在案件条件的计算结果来执行错误:
int a = 5;if(a % 2 == 0)
{
Console.WriteLine("a contains an even number");
}
else
{
Console.WriteLine("a contains an odd number");
}
// output: "a contains an odd number"
该if...else if结构,可以指定多个条件:
int a = 9;if(a % 2 == 0)
{
Console.WriteLine("a contains an even number");
}
else if(a % 3 == 0)
{
Console.WriteLine("a contains an odd number that is a multiple of 3");
}
else
{
Console.WriteLine("a contains an odd number");
}
// output: "a contains an odd number that is a multiple of 3"
需要注意的重要一点是,如果在上面的示例中满足条件,则控件会跳过其他测试并跳至特定的if else构造的末尾。因此,如果您使用if .. else if构造,则测试的顺序很重要。
C#布尔表达式使用短路评估。在评估条件可能会有副作用的情况下,这一点很重要:
if (someBooleanMethodWithSideEffects() && someOtherBooleanMethodWithSideEffects()) {//...
}
无法保证someOtherBooleanMethodWithSideEffects将实际运行。
在较早的条件下确保对以后的条件进行“安全”评估的情况下,这一点也很重要。例如:
if (someCollection != null &&someCollection.Count> 0) {// ..
}
在这种情况下,顺序非常重要,因为如果我们颠倒顺序:
if (someCollection.Count > 0 && someCollection != null) {
它将抛出一个NullReferenceExceptionif someCollectionis null。
以上是 C# if, if...else, if... else if 的全部内容, 来源链接: utcz.com/z/315827.html