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:基于固定值进行分支。

菜单示例:使用 ifelse ifelseswitch

一个结合条件和选择结构的简单控制台菜单系统。

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.");
        }
    }
}
Back to Blog

相关文章

阅读更多 »

MiniScript 2026 路线图

2026 展望 随着 2025 接近尾声,是时候展望 2026 了!MiniScript 已经八岁。许多编程语言真的进入了它们的……