原文:用C# 7.0的switch...case模式匹配取代一堆if語句

今天在重構代碼時對下面的一堆if語句實在看着不順眼。 突然想到 C . 的新特性 Pattern Matching in C . Case Blocks,眼前一亮。於是試試看能否消滅這一堆if,結果如願以償,又一次實際體會到 C . 的魅力。 ...

2017-05-04 14:03 0 3996 推薦指數:

查看詳情

C# 利用鍵值對取代Switch...Case語句

swich....case 條件分支多了之后,會嚴重的破壞程序的美觀性。 比如這個 上述代碼是用於兩個進程之間通信的代碼,由於通信的枚舉特別的多,所以case的分支特別的多。導致了代碼的可讀性,可維護性嚴重下降。經過查找資料和重構,想到了一種可行的在這種情況替代switch...case的方案 ...

Thu Sep 07 05:41:00 CST 2017 4 834
C# Switch模式匹配語法

結果 另外還可以 匹配 var 或者null 具體用法可以查看微軟文檔 模式匹配 - C# 指南 ...

Sat May 01 18:24:00 CST 2021 1 1451
省一行是一行:在if語句中使用C# 7.0模式匹配

C# 7.0模式匹配(Pattern Mathing)不僅可以節省代碼,而且可以讓代碼更流暢(Fluent),今天又在實際開發中體會了一下。 不用模式匹配的代碼,需要先獲取返回值,然后用if進行判斷。 使用模式匹配的代碼,在if中獲取返回值並進行判斷,一氣呵成。 ...

Sat May 13 02:46:00 CST 2017 6 1664
C# 7.0 新特性3: 模式匹配

本文參考Roslyn項目Issue:#206,及Docs:#patterns。   1. C# 7.0 新特性1: 基於Tuple的“多”返回值方法   2. C# 7.0 新特性2: 本地方法   3. C# 7.0 新特性3: 模式匹配   4. C# 7.0 新特性4: 返回引用 ...

Thu Jun 16 03:04:00 CST 2016 17 9241
C# 7.0 新特性:模式匹配 ( pattern matching)

C# 7.0 新特性:模式匹配 ( pattern matching ) 在 C# 中,is 是一個關鍵字,可以用來檢查某個數據的類型是否為特定類型。這是一個表達式,返回類型為 boolean。 例如,我們可以檢查某個實例是否為 Persion 類型 在下面情況下,返回 ...

Sun Mar 29 01:53:00 CST 2020 0 197
if、else if 、else及switch...case使用小記(C#

  有時候編程編的久了,如果不停下來認真思考一下,即便是一些最基礎的知識點,也可能讓自己懵圈。其實,說到底還是打基礎的時候沒打牢,或者說自以為是地認為自己懂了,然后在打基礎的時候就懶得思考懶得看了,結 ...

Tue Jul 31 07:45:00 CST 2018 0 1386
C# 8 的模式匹配

C# 7 里面的Pattern Mathing 更多內容請查看官方文檔:https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-8#more-patterns-in-more-places?WT.mc_id ...

Tue Oct 15 04:14:00 CST 2019 20 4164
c# switch case語句

switch是一個控制語句,用於選擇一個要執行的語句塊。 一個switch語句包括一個或多個執行的語句塊。每個語句塊包括一個或多個case標簽,case后接要執行的語句。 如下面的代碼 注: 每個 case 標簽指定一個常數值。switch 語句會將控制傳輸 ...

Sun Sep 13 17:35:00 CST 2015 0 7293
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM