成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C# Switch 語(yǔ)句進(jìn)階:模式匹配詳解與實(shí)例演示

開(kāi)發(fā) 后端
模式匹配使得Switch語(yǔ)句更為強(qiáng)大,能夠更直觀地表達(dá)條件邏輯。不同的模式適用于不同的場(chǎng)景,根據(jù)需求選擇合適的模式,提高代碼的可讀性和可維護(hù)性。使用模式匹配可以減少代碼中的重復(fù),并提供更靈活的條件判斷方式。

在C#中,switch語(yǔ)句的模式匹配在C# 7.0及以上版本中引入。以下是switch語(yǔ)句中常見(jiàn)的模式及其使用方法的示例:

1. 類型模式:

優(yōu)點(diǎn): 用于檢查對(duì)象的運(yùn)行時(shí)類型,使代碼更具可讀性。

public static string GetObjectType(object obj)
{
    switch (obj)
    {
        case int i:
            return "整數(shù)類型";
        case string s:
            return "字符串類型";
        case double d:
            return "雙精度浮點(diǎn)數(shù)類型";
        default:
            return "其他類型";
    }
}

2. 常量模式:

優(yōu)點(diǎn): 用于匹配對(duì)象是否等于某個(gè)常量值。

public static string GetDayOfWeekName(DayOfWeek day)
{
    switch (day)
    {
        case DayOfWeek.Monday:
            return "星期一";
        case DayOfWeek.Tuesday:
            return "星期二";
        case DayOfWeek.Wednesday:
            return "星期三";
        case DayOfWeek.Thursday:
            return "星期四";
        case DayOfWeek.Friday:
            return "星期五";
        default:
            return "其他";
    }
}

3. 組合模式:

優(yōu)點(diǎn): 允許將多個(gè)模式組合在一起,形成更復(fù)雜的匹配條件。

public static string GetInfo(object obj)
{
    switch (obj)
    {
        case int i when i > 0:
            return "正整數(shù)";
        case int i when i < 0:
            return "負(fù)整數(shù)";
        case string s when s.Length > 10:
            return "字符串長(zhǎng)度大于10";
        default:
            return "其他";
    }
}

4. 屬性模式:

優(yōu)點(diǎn): 用于匹配對(duì)象的屬性,提供更靈活的條件判斷。

public static string GetPersonInfo(object person)
{
    switch (person)
    {
        case { Age: > 18, Name: "Alice" }:
            return "成年人 Alice";
        case { Age: > 18, Name: "Bob" }:
            return "成年人 Bob";
        case { Age: <= 18, Name: "Alice" }:
            return "未成年人 Alice";
        default:
            return "其他";
    }
}

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

5. 變量模式:

優(yōu)點(diǎn): 允許在模式中引入新的變量,提供更靈活的條件判斷。

public static string GetVariablePattern(object obj)
{
    switch (obj)
    {
        case int i when i > 0:
            return $"正整數(shù):{i}";
        case int i when i < 0:
            return $"負(fù)整數(shù):{i}";
        case string s:
            return $"字符串:{s}";
        default:
            return "其他";
    }
}
  • 模式匹配使得switch語(yǔ)句更為強(qiáng)大,能夠更直觀地表達(dá)條件邏輯。
  • 不同的模式適用于不同的場(chǎng)景,根據(jù)需求選擇合適的模式,提高代碼的可讀性和可維護(hù)性。
  • 使用模式匹配可以減少代碼中的重復(fù),并提供更靈活的條件判斷方式。
責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2009-08-18 13:30:01

C#安裝與部署

2009-09-01 18:29:10

C#繼承C#多態(tài)

2009-08-20 14:45:13

C# Switch語(yǔ)句

2009-08-18 10:17:25

C#枚舉類型

2009-09-07 14:33:02

C# switch語(yǔ)句

2009-08-13 18:26:35

C#繼承構(gòu)造函數(shù)

2009-08-26 15:35:59

C#虛函數(shù)

2009-09-02 17:12:06

C#關(guān)機(jī)代碼

2009-08-20 11:01:51

C#操作內(nèi)存

2009-08-18 10:14:19

C#插件構(gòu)架

2009-09-11 12:31:52

C#實(shí)例詳解TypeConvert

2009-08-25 18:04:30

C#實(shí)現(xiàn)Singlet

2009-08-28 12:47:30

C#靜態(tài)方法應(yīng)用

2009-08-18 17:05:08

C#操作xml文件

2009-08-28 13:12:56

C#反射實(shí)例C#反射

2009-09-02 19:12:37

C#遞歸

2009-09-07 05:50:59

C# Timer用法

2009-09-01 11:25:08

C#讀取Word文件

2009-08-21 10:13:02

C#異步初步

2009-09-04 18:09:12

C# Main函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产亚洲精品精品国产亚洲综合 | 国产精品污污视频 | 精品国产一区二区三区四区在线 | 中文字幕1区| 成人黄色在线观看 | 成人美女免费网站视频 | 韩国欧洲一级毛片 | 欧美一级二级三级视频 | 成人免费观看男女羞羞视频 | 免费av手机在线观看 | 久久精品国产一区二区电影 | 成人免费视频网站在线观看 | 亚洲成av人片在线观看 | 久久99精品久久久久久狂牛 | 国产视频精品在线 | 日日夜夜天天 | 日韩免费视频一区二区 | 日韩有码在线观看 | 99久久精品免费看国产四区 | 精品伊人 | 精品99久久| 亚洲高清久久 | 国产精品欧美精品日韩精品 | 亚洲欧美一区二区三区国产精品 | 国产精品18久久久久久久 | 黄色片在线免费看 | 国产日韩精品久久 | 国产欧美一区二区三区日本久久久 | av一级久久 | 日韩精品一区二区三区中文在线 | 丁香六月伊人 | 欧美日韩在线播放 | 日韩一区二区三区在线 | 国产欧美日韩视频 | 蜜月aⅴ国产精品 | 日韩中文字幕高清 | 国产色片 | 成人毛片视频免费 | 欧美自拍网站 | 日韩视频91 | 亚洲精品一区在线观看 |