C#中怎么实现模式匹配

avatar
作者
猴君
阅读量: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#中实现模式匹配变得更加简单和直观。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!