C# 模式匹配进阶
学习C#模式匹配语法,包括类型匹配、属性匹配和列表模式 · 难度:入门 · +15XP
模式匹配概述
模式匹配是 C# 中强大的控制流工具,允许你根据类型、属性或结构来检查对象。从 C# 7 开始不断扩展,C# 11 加入了列表模式。
常用模式类型
| 模式 | 示例 |
|---|---|
| 类型模式 | if (obj is int i) |
| 属性模式 | if (obj is { Name: "Alice" }) |
| 位置模式 | if (point is (0, 0)) |
| 列表模式 | if (arr is [1, 2, ..]) |
Switch 表达式
string Describe(object obj) => obj switch
{
int i => $"整数 {i}",
string s => $"字符串 {s}",
null => "空值",
_ => "未知"
};属性匹配示例
if (person is { FirstName: "Alice", Age: > 18 })
Console.WriteLine("成年 Alice");💡 练习提示:编写一个使用 switch 表达式和属性模式的函数,处理不同形状的面积计算。