溫馨提示×

C#中怎么實現(xiàn)模式匹配

c#
小億
91
2024-04-25 18:25:48
欄目: 編程語言

在C#中,可以使用switch語句和模式匹配表達式來實現(xiàn)模式匹配。模式匹配表達式在C# 7.0及更高版本中引入,可以讓開發(fā)者更方便地進行復雜的條件判斷。

以下是一個簡單的例子,展示了如何使用switch語句和模式匹配表達式來實現(xiàn)模式匹配:

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方法中,我們創(chuàng)建了一個object類型的變量obj,并將其賦值為一個Circle對象。接著使用switch語句對obj進行模式匹配,根據(jù)obj的實際類型執(zhí)行不同的邏輯。

需要注意的是,模式匹配表達式在C#中還可以使用when子句來進一步過濾條件,以更精確地匹配目標類型。模式匹配表達式的靈活性和強大性使得在C#中實現(xiàn)模式匹配變得更加簡單和直觀。

0