C# If ... Else 语句

C# 条件和If语句

C# 条件语句用于根据不同条件执行不同动作。

  • a < b
  • a <= b
  • a > b
  • a >= b
  • a == b
  • a != b

您可以使用这些条件为不同的决策执行不同的操作。

C# 具有以下条件语句:

  • 使用 if 在条件成立时执行代码
  • 使用 else 在条件不成立时执行代码
  • 使用 else if 在若干条件之一成立时执行一个代码块
  • 使用 switch 在若干条件之一成立时执行一个代码块

if 语句

使用 if 语句用于仅当指定条件成立时执行代码。

语法

if (condition) 
{
  // 条件为 True 时执行的代码块
}

注意 if 是小写字母。大写字母(If或If)将生成错误。

在下面的示例中,我们测试两个值以确定20是否大于18。如果条件为 True,则打印一些文本:

实例

if (20 > 18) 
{
  Console.WriteLine("20 is greater than 18");
}

运行实例 »

我们还可以测试变量:

实例

int x = 20;
int y = 18;
if (x > y) 
{
  Console.WriteLine("x is greater than y");
}

运行实例 »

实例解析

在上面的例子中,我们使用两个变量 xy 来测试x是否大于y(使用 > 操作符)。因 为x是20,y是18,我们知道20大于18,所以我们在屏幕上打印"x is greater than y"。



else 语句

如果条件为False,则使用 else 语句指定要执行的代码块。

语法

if (condition)
{
  // 条件为 True 时执行的代码块
} 
else 
{
  // 条件为 False 时要执行的代码块
}

实例

int time = 20;
if (time < 18) 
{
  Console.WriteLine("Good day.");
} 
else 
{
  Console.WriteLine("Good evening.");
}
// 输出 "Good evening."

运行实例 »

实例解析

在上面的示例中,时间(20)大于18,因此条件为False。 因此,我们转到 else 并在屏幕上打印"Good evening"。如果时间少于18,程序将打印"Good day"。


else if 语句

如果第一个条件为False,则使用else if语句指定新条件。

语法

if (condition1)
{
  // 如果条件 1 为 True,则要执行的代码块
} 
else if (condition2) 
{
  // 如果条件 1 为 false 且条件 2 为 True,则要执行的代码块
} 
else
{
  // 如果条件 1 为 false 且条件 2 为 false 时要执行的代码块
}

实例

int time = 22;
if (time < 10) 
{
  Console.WriteLine("Good morning.");
} 
else if (time < 20) 
{
  Console.WriteLine("Good day.");
} 
else 
{
  Console.WriteLine("Good evening.");
}
// 输出 "Good evening."

运行实例 »

实例解析

在上面的例子中,时间 (22) 大于 10,所以 第一个条件Falseelse if 语句中的下一个条件也是 False,所以我们继续进行 else 条件,因为 condition1condition2 都是 False - 并打印到屏幕上"晚上好"。

但是,如果时间是 14 点,我们的程序会打印"Good day"。


If...Else 简写语句(三元运算符)

还有一个简写语句,它被称为三元运算符,因为它由三个操作数组成。它可以用一行代码替换多行代码。它通常用于替换简单的if-else语句:

语法

variable = (condition) ? expressionTrue :  expressionFalse;

而不是写:

实例

int time = 20;
if (time < 18) 
{
  Console.WriteLine("Good day.");
} 
else 
{
  Console.WriteLine("Good evening.");
}

运行实例 »

你可以简写为:

实例

int time = 20;
string result = (time < 18) ? "Good day." : "Good evening.";
Console.WriteLine(result);

运行实例 »


C# 实验

学习训练

练习题:

如果 x 大于 y,则打印"Hello World"。

int x = 50;
int y = 10;
 (x  y) 
{
  Console.WriteLine("Hello World");
}

开始练习