C# 中属性模式 (Property Pattern) 的用法

· 约 2 分钟读完 · 第 119 / 183 章

推荐答案

本题详细解读

属性模式简介

属性模式(Property Pattern)是C# 8.0引入的一种模式匹配方式,允许你在模式匹配中直接匹配对象的属性。通过属性模式,你可以根据对象的属性值来执行不同的逻辑。

代码解析

  1. Person类:定义了一个简单的Person类,包含Name和Age两个属性。
  2. GetPersonInfo方法:该方法使用switch表达式和属性模式来匹配Person对象的属性。
    • { Name: "Alice", Age: 30 }:匹配Name为"Alice"且Age为30的Person对象。
    • { Name: "Bob", Age: 25 }:匹配Name为"Bob"且Age为25的Person对象。
    • { Age: < 18 }:匹配Age小于18的Person对象。
    • { Name: var name, Age: var age }:匹配任意Person对象,并将Name和Age分别绑定到name和age变量。
    • _:默认情况,匹配所有其他情况。

使用场景

属性模式非常适合用于处理复杂对象的条件判断,尤其是在需要根据对象的多个属性值来决定执行逻辑时。它可以使代码更加简洁和易读。

注意事项

  • 属性模式只能用于C# 8.0及以上版本。
  • 在使用属性模式时,确保对象的属性是可访问的(即public或internal)。