C# 条件语句 (if, else, switch)
发布: (2026年1月16日 GMT+8 20:43)
3 min read
原文: Dev.to
Source: Dev.to
if 语句
if 语句在条件为 true 时执行代码块。
int number = 10;
if (number > 5)
{
Console.WriteLine("Number is greater than 5.");
}
if‑else 语句
使用 else 在条件为 false 时运行另一代码块。
Console.Write("Enter your grade: ");
int grade = int.Parse(Console.ReadLine()); // convert from string to int
if (grade >= 50)
{
Console.WriteLine("You passed.");
}
else
{
Console.WriteLine("You failed.");
}
if‑else if‑else
使用 else if 按顺序检查多个条件。
int grade = 75;
if (grade >= 90)
{
Console.WriteLine("Grade: A");
}
else if (grade >= 70)
{
Console.WriteLine("Grade: B");
}
else if (grade >= 50)
{
Console.WriteLine("Grade: C");
}
else
{
Console.WriteLine("Failed");
}
switch 语句
使用 switch 根据固定值分支执行。相较于大量 else if 块,它更易读。
Console.Write("Enter day number (1-7): ");
int day = int.Parse(Console.ReadLine());
switch (day)
{
case 1: Console.WriteLine("Monday"); break;
case 2: Console.WriteLine("Tuesday"); break;
case 3: Console.WriteLine("Wednesday"); break;
case 4: Console.WriteLine("Thursday"); break;
case 5: Console.WriteLine("Friday"); break;
case 6: Console.WriteLine("Saturday"); break;
case 7: Console.WriteLine("Sunday"); break;
default: Console.WriteLine("Invalid day!"); break;
}
使用用户输入的决策结构
决策结构通常依赖用户输入。
Console.Write("Enter a number: ");
int number = int.Parse(Console.ReadLine());
if (number % 2 == 0)
{
Console.WriteLine("The number is even.");
}
else
{
Console.WriteLine("The number is odd.");
}
小结
if:条件为真时执行。else:条件为假时执行。else if:顺序检查多个条件。switch:基于固定值进行分支。
菜单示例:使用 if、else if、else 和 switch
一个结合条件和选择结构的简单控制台菜单系统。
using System;
class Program
{
static void Main()
{
Console.WriteLine("=== Menu ===");
Console.WriteLine("1 - Addition");
Console.WriteLine("2 - Subtraction");
Console.WriteLine("3 - Multiplication");
Console.WriteLine("4 - Division");
Console.WriteLine("0 - Exit");
Console.Write("Enter your choice: ");
int choice = int.Parse(Console.ReadLine()); // convert from string to int
if (choice == 0)
{
Console.WriteLine("Exiting program...");
}
else if (choice >= 1 && choice <= 4)
{
Console.Write("Enter the first number: ");
double num1 = double.Parse(Console.ReadLine());
Console.Write("Enter the second number: ");
double num2 = double.Parse(Console.ReadLine());
switch (choice)
{
case 1:
Console.WriteLine($"Result: {num1 + num2}");
break;
case 2:
Console.WriteLine($"Result: {num1 - num2}");
break;
case 3:
Console.WriteLine($"Result: {num1 * num2}");
break;
case 4:
if (num2 != 0)
Console.WriteLine($"Result: {num1 / num2}");
else
Console.WriteLine("Error: Division by zero is not allowed!");
break;
}
}
else
{
Console.WriteLine("Invalid choice.");
}
}
}