渐进式编程课
C# 目录
第 19 课2026.09.24

只把指定标题且时长足够的课程标记为重点。

第 19 课:同时匹配 record 两个属性

  • 日期:2026-09-24
  • 课程序号:第 19 课
  • 知识点:多属性模式

用途或适用场景

只把指定标题且时长足够的课程标记为重点。

核心概念

同一个属性模式中用逗号列出多个属性子模式,全部匹配才进入对应分支。

最小代码或操作示例

csharp
var lesson = new Lesson("C#", 10);
var label = lesson switch {
    { Title: "C#", Minutes: >= 10 } => "重点课程",
    _ => "普通课程"
};
Console.WriteLine(label);
public record Lesson(string Title, int Minutes);

3~5 分钟练习

保持时长 10,把标题改成“Java”。

参考答案

输出“普通课程”,因为标题子模式没有匹配。

与上一课的联系

沿用第 18 课的 Lesson、switch 与 Minutes 属性条件;本课只增加 Title 属性条件;完成后下一课可用逻辑模式组合多种重点课程条件。

时效校验

时效校验:2026-09-24(Microsoft Learn 当前 C# 属性模式与 record 参考;record 组合用法最低 C# 9 / .NET 5,未见废弃标记)。

官方参考