日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

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

來(lái)源: 責(zé)編: 時(shí)間:2024-04-07 17:05:26 188觀看
導(dǎo)讀在C#中,switch語(yǔ)句的模式匹配在C# 7.0及以上版本中引入。以下是switch語(yǔ)句中常見(jiàn)的模式及其使用方法的示例:1. 類(lèi)型模式:優(yōu)點(diǎn): 用于檢查對(duì)象的運(yùn)行時(shí)類(lèi)型,使代碼更具可讀性。public static string GetObjectType(object ob

Em128資訊網(wǎng)——每日最新資訊28at.com

在C#中,switch語(yǔ)句的模式匹配在C# 7.0及以上版本中引入。以下是switch語(yǔ)句中常見(jiàn)的模式及其使用方法的示例:Em128資訊網(wǎng)——每日最新資訊28at.com

1. 類(lèi)型模式:

優(yōu)點(diǎn): 用于檢查對(duì)象的運(yùn)行時(shí)類(lèi)型,使代碼更具可讀性。Em128資訊網(wǎng)——每日最新資訊28at.com

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

2. 常量模式:

優(yōu)點(diǎn): 用于匹配對(duì)象是否等于某個(gè)常量值。Em128資訊網(wǎng)——每日最新資訊28at.com

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ù)雜的匹配條件。Em128資訊網(wǎng)——每日最新資訊28at.com

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ì)象的屬性,提供更靈活的條件判斷。Em128資訊網(wǎng)——每日最新資訊28at.com

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): 允許在模式中引入新的變量,提供更靈活的條件判斷。Em128資訊網(wǎng)——每日最新資訊28at.com

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ù),并提供更靈活的條件判斷方式。

本文鏈接:http://www.www897cc.com/showinfo-26-81733-0.htmlC# Switch 語(yǔ)句進(jìn)階:模式匹配詳解與實(shí)例演示

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 詳解WebSocketMessageBrokerConfigurer在SpringBoot中應(yīng)用與實(shí)踐

下一篇: 邁向高效Rust編程:實(shí)踐中的最佳工作流與技巧

標(biāo)簽:
  • 熱門(mén)焦點(diǎn)
Top 主站蜘蛛池模板: 华亭县| 天柱县| 玛多县| 休宁县| 于田县| 祥云县| 隆昌县| 长春市| 米泉市| 朝阳市| 东莞市| 奎屯市| 赣榆县| 大余县| 阆中市| 华坪县| 布拖县| 平安县| 滦平县| 乌拉特中旗| 巴塘县| 商河县| 锡林浩特市| 乌兰察布市| 大洼县| 盐津县| 新邵县| 颍上县| 卢龙县| 松潘县| 北宁市| 南投市| 耒阳市| 西盟| 靖安县| 玛曲县| 皮山县| 阳高县| 津市市| 绥江县| 天津市|