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

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

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

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

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

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

1. 類型模式:

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

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è)常量值。6HZ28資訊網(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ù)雜的匹配條件。6HZ28資訊網(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 "字符串長度大于10";        default:            return "其他";    }}

4. 屬性模式:

優(yōu)點(diǎn): 用于匹配對(duì)象的屬性,提供更靈活的條件判斷。6HZ28資訊網(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): 允許在模式中引入新的變量,提供更靈活的條件判斷。6HZ28資訊網(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語句更為強(qiáng)大,能夠更直觀地表達(dá)條件邏輯。
  • 不同的模式適用于不同的場景,根據(jù)需求選擇合適的模式,提高代碼的可讀性和可維護(hù)性。
  • 使用模式匹配可以減少代碼中的重復(fù),并提供更靈活的條件判斷方式。

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

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

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

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

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 临海市| 黎平县| 呼伦贝尔市| 黄陵县| 福泉市| 蓬溪县| 济宁市| 玛曲县| 张家界市| 黄石市| 合山市| 黎川县| 汾西县| 剑阁县| 伊宁市| 乌拉特前旗| 方山县| 五原县| 翁源县| 宁明县| 乌拉特后旗| 新和县| 迁安市| 文水县| 永清县| 东至县| 灵山县| 巴中市| 青州市| 东宁县| 依兰县| 麦盖提县| 新密市| 绩溪县| 香港 | 托里县| 仙桃市| 文成县| 新巴尔虎右旗| 调兵山市| 彭水|