渐进式编程课
C# 目录
第 16 课2026.09.21

在 switch 中同时匹配课程标题和时长。

第 16 课:位置模式匹配record

  • 日期:2026-09-21
  • 课程序号:第 16 课
  • 知识点:位置模式匹配record

用途或适用场景

在 switch 中同时匹配课程标题和时长。

核心概念

位置 record 自动生成 Deconstruct;位置模式可直接按组件顺序匹配它。

最小代码或操作示例

text
var lesson = new Lesson("C#", 5);
var label = lesson switch {
    ("C#", 5) => "当前课程",
    _ => "其他课程"
};
public record Lesson(string Title, int Minutes);

3~5 分钟练习

把 lesson 的时长改为 10,再读取 label。

参考答案

("C#", 5) 不再匹配,label 为“其他课程”。

与上一课的联系

沿用第 15 课的位置 record Lesson(Title, Minutes) 及自动解构顺序;本课只新增在 switch 中使用位置模式;完成练习后下一课可用弃元忽略不关心的标题。

时效校验

时效校验:2026-09-24(当前 C# 14 / .NET 10;record 最低需 C# 9 / .NET 5,位置模式自 C# 8 可用;已核对 Microsoft 当前参考,未见废弃标记)。

官方参考