第十二式:C# 判断 (见招拆招)

绝世
秘籍
独孤九剑的精髓在于“料敌机先”。
代码也是一样,遇到不同的情况,要做出不同的反应。这就叫判断 (Decision Making)
如果是田伯光,我就拔剑;如果是任盈盈,我就……奏琴?

1. if...else - 岔路口

最简单的二选一。


string enemy = "田伯光";

if (enemy == "田伯光")
{
    Console.WriteLine("拔剑!独孤九剑!");
}
else
{
    Console.WriteLine("拱手行礼。");
}
        

2. if...else if...else - 多重选择

面对多个敌人,有多种应对策略。


int internalEnergy = 80;

if (internalEnergy >= 90)
{
    Console.WriteLine("一代宗师");
}
else if (internalEnergy >= 60)
{
    Console.WriteLine("江湖好手");
}
else
{
    Console.WriteLine("无名小卒");
}
        

3. switch - 招式菜单

当你有很多明确的选项时,用 switch 比写一堆 if 更优雅。


char grade = 'A';

switch (grade)
{
    case 'A':
        Console.WriteLine("绝世武功");
        break; // 打完收工,跳出判断
    case 'B':
        Console.WriteLine("上乘武功");
        break;
    default:
        Console.WriteLine("庄稼把式");
        break;
}
        
switch 里,千万别忘了 break
如果忘了,程序会像失控的马车一样一直往下冲(C# 甚至直接报错不让你这么干),这叫 Fall Through,是兵家大忌!
⚖️

动手时刻:正邪之辩

编写一个程序,定义一个变量 bool isEvil = false;

如果是邪派(true),输出“替天行道”;如果是正派(false),输出“把酒言欢”。

查看参考答案

bool isEvil = false;

if (isEvil)
{
    Console.WriteLine("替天行道!");
}
else
{
    Console.WriteLine("把酒言欢!");
}

// 高手写法 (三元运算符):
// Console.WriteLine(isEvil ? "替天行道!" : "把酒言欢!");
                    

成就解锁:【审判者】 获得:善恶断决剑