全面介紹C#預處理
作者:佚名
本文介紹C#預處理標識符使用和規(guī)則C#標識符文法相似的文法,以及介紹C#預處理控制行和C#預處理表達式。
C#預處理控制行
特性#error和#warning使得代碼可以把警告和錯誤的條件報告給編譯程序,來查出標準的編譯時的警告和錯誤。
- pp-con trol-line:
- #error pp-message
- #warning pp-message
- pp-message:
- pp-tokensopt
舉個例子幫助大家理解
- #warning Code review needed before check-in
- #define DEBUG
- #if DEBUG && RETAIL
- #error A build can't be both debug and retail!
- #endif
- class Class1
- {…}
這將總是產生警告(“Code review needed before check-in"),并且如果予處理修飾符DEBUG 和RETAIL 都被定義,還會產生錯誤。
C#預處理標識符
C#預處理標識符使用和規(guī)則C#標識符文法相似的文法:
- pp -identifi er:
- pp-ava ilable-identifier
- pp-ava ilable-identifi er:
- A pp-identif ier-or-keyword that is not true or false
- pp-id entif ier-or-keyword:
- identifi er-start-character identif ier-part-characters opt
true 和false 符號不是合法的預定義指示符,所以不能用于#define 的定義和#undef 的反定義。
C#預處理表達式
操作符!, ==, !=, && 和||是允許的預定義表達式。在預定義表達式中,圓括號可以用來分組。
- pp-expression:
- pp-equality-expression
- pp-pr imary-expression:
- true
- false
- pp -identifi er
- ( pp-expression )
- pp-unary-expression:
- pp-pr imary-expression
- ! pp-unary-expression
- pp-equality-expression:
- pp-equality-expression == pp-logical-and-expression
- pp-equality-expression != pp-logical-and-expression
- pp-logical-and-expression:
- pp-unary-expression
- pp-logical-and-expression && pp-unary-expression
- pp-logical-or-expression:
- pp-logical-and-expression
- pp-logical-or-expression || pp-logical-and-expression
【編輯推薦】
責任編輯:佚名
來源:
博客園