Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 2.3 控制流(if, switch, 循环)

2.3 控制流(if, switch, 循环)

控制流是编程语言中用于控制程序执行顺序的核心机制。在C#中,主要通过条件语句(if/else、switch)和循环语句(for、while、do-while、foreach)实现逻辑分支和重复操作。


1. 条件语句

1.1 if/else 语句

用于基于布尔表达式的结果执行不同的代码块。

int score = 85;
if (score >= 90)
{
    Console.WriteLine("优秀");
}
else if (score >= 60)
{
    Console.WriteLine("及格");
}
else
{
    Console.WriteLine("不及格");
}

1.2 三元运算符

简化简单的if-else逻辑。

string result = (score >= 60) ? "及格" : "不及格";

2. switch 语句

适用于多分支条件判断,比嵌套if-else更清晰。

string day = "Monday";
switch (day)
{
    case "Monday":
        Console.WriteLine("工作日");
        break;
    case "Saturday":
    case "Sunday":
        Console.WriteLine("周末");
        break;
    default:
        Console.WriteLine("未知");
        break;
}

C# 8.0+ 新特性:支持模式匹配和switch表达式:

string message = day switch
{
    "Monday" => "工作日",
    _ => "其他"
};

3. 循环语句

3.1 for 循环

适用于已知迭代次数的场景。

for (int i = 0; i < 5; i++)
{
    Console.WriteLine($"当前值: {i}");
}

3.2 while 循环

条件满足时重复执行。

int count = 0;
while (count < 3)
{
    Console.WriteLine(count);
    count++;
}

3.3 do-while 循环

至少执行一次,再检查条件。

do
{
    Console.WriteLine("至少执行一次");
} while (false);

3.4 foreach 循环

遍历集合或数组。

string[] colors = { "Red", "Green", "Blue" };
foreach (string color in colors)
{
    Console.WriteLine(color);
}

4. 控制流关键字

4.1 break

立即终止循环或switch分支。

4.2 continue

跳过当前循环迭代,进入下一次循环。

4.3 return

退出方法并返回结果(若方法有返回值)。


5. 实际应用示例

示例1:输入验证

while (true)
{
    Console.Write("请输入1-100的数字:");
    if (int.TryParse(Console.ReadLine(), out int num) && num >= 1 && num <= 100)
    {
        break;
    }
    Console.WriteLine("输入无效!");
}

示例2:遍历集合过滤数据

List<int> numbers = new List<int> { 10, 20, 30, 40 };
foreach (var num in numbers.Where(n => n > 15))
{
    Console.WriteLine(num);
}

总结

控制流类型适用场景特点
if-else简单或嵌套条件判断灵活性高
switch多分支等值比较可读性好
for已知迭代次数可控制初始化和步长
foreach遍历集合简洁安全(只读)
while条件满足时循环(可能不执行)适合不确定次数的循环

掌握控制流是编写逻辑清晰、高效代码的基础。后续章节将结合方法、集合等特性进一步扩展其应用场景。

Last Updated:: 5/3/25, 11:01 PM