- C# 8.0本質論
- (美)馬克·米凱利斯
- 636字
- 2022-03-30 10:15:14
4.3 代碼塊
在前面的if語句示例中,if和else之后僅跟隨了一個System.Console.WriteLine();語句,如代碼清單4.23所示。
代碼清單4.23 不需要代碼塊的if語句

可用大括號將多個語句合并成代碼塊,以實現在符合條件時執行多個語句。例如代碼清單4.24中突出顯示的用于計算半徑的代碼塊。
代碼清單4.24 跟隨了代碼塊的if語句


輸出4.14展示了結果。
輸出4.14

在這個例子中,if語句檢查radius(半徑)是不是正數。如果是,就計算并顯示圓的面積;否則顯示消息指出半徑無效。
注意第一個if之后跟隨了兩個語句,它們被封閉在一對大括號中。大括號將多個語句合并成代碼塊。
如去掉代碼清單4.24中用于創建代碼塊的大括號,在布爾表達式返回true的前提下,只有緊接在if語句之后的那條語句才會執行。無論布爾表達式求值結果是什么,后續的語句都會執行。代碼清單4.25展示了這種無效的代碼。
代碼清單4.25 依賴縮進造成無效的代碼

在C#中,縮進僅用來增強代碼的可讀性。編譯器會忽略它,所以上述代碼在語義上等價于代碼清單4.26。
代碼清單4.26 使用大括號的if語句

程序員必須防止此類不容易發現的錯誤。一種比較極端的做法是,無論如何都在控制流程語句之后包括代碼塊,即使其中只有一個語句。事實上,設計規范是除非是最簡單的單行if語句,否則避免省略大括號。
雖然比較少見,但也可獨立使用代碼塊,它在語義上不屬于任何控制流程語句。換言之,大括號可自成一體(例如沒有條件或循環),這完全合法。
上述兩個代碼清單的π值用System.Math類的PI常量表示。編程時不要硬編碼π和e(自然對數的底),請用System.Math.PI或System.Math.E。
設計規范
·除非使用最簡單的單行if語句,否則避免省略大括號
- Vue.js 3.x快速入門
- 流量的秘密:Google Analytics網站分析與優化技巧(第2版)
- JavaScript語言精髓與編程實踐(第3版)
- 零基礎趣學C語言
- Java網絡編程實戰
- Clean Code in C#
- Machine Learning With Go
- Android Development Tools for Eclipse
- Photoshop CC移動UI設計案例教程(全彩慕課版·第2版)
- Python Programming for Arduino
- SAP Web Dynpro for ABAP開發技術詳解:基礎應用
- 從“1”開始3D編程
- Mastering Vim
- Game Programming using Qt 5 Beginner's Guide
- Learning RSLogix 5000 Programming