C#中怎么实现模式匹配

   2024-10-20 3770
核心提示:在C#中,可以使用switch语句和模式匹配表达式来实现模式匹配。模式匹配表达式在C# 7.0及更高版本中引入,可以让开发者更方便地进

在C#中,可以使用switch语句和模式匹配表达式来实现模式匹配。模式匹配表达式在C# 7.0及更高版本中引入,可以让开发者更方便地进行复杂的条件判断。

以下是一个简单的例子,展示了如何使用switch语句和模式匹配表达式来实现模式匹配:

public static void Main(){    object obj = new Circle(5);    switch (obj)    {        case Square s:            Console.WriteLine($"Square with side length {s.SideLength}");            break;        case Circle c:            Console.WriteLine($"Circle with radius {c.Radius}");            break;        default:            Console.WriteLine("Unknown shape");            break;    }}public class Square{    public int SideLength { get; }    public Square(int sideLength)    {        SideLength = sideLength;    }}public class Circle{    public int Radius { get; }    public Circle(int radius)    {        Radius = radius;    }}

在上面的代码中,我们首先定义了一个基类Shape,然后定义了Square和Circle两个子类。在Main方法中,我们创建了一个object类型的变量obj,并将其赋值为一个Circle对象。接着使用switch语句对obj进行模式匹配,根据obj的实际类型执行不同的逻辑。

需要注意的是,模式匹配表达式在C#中还可以使用when子句来进一步过滤条件,以更精确地匹配目标类型。模式匹配表达式的灵活性和强大性使得在C#中实现模式匹配变得更加简单和直观。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号