全面介紹C#預(yù)處理
C#預(yù)處理控制行
特性#error和#warning使得代碼可以把警告和錯(cuò)誤的條件報(bào)告給編譯程序,來(lái)查出標(biāo)準(zhǔn)的編譯時(shí)的警告和錯(cuò)誤。
- pp-con trol-line:
 - #error pp-message
 - #warning pp-message
 - pp-message:
 - pp-tokensopt
 
舉個(gè)例子幫助大家理解
- #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
 - {…}
 
這將總是產(chǎn)生警告(“Code review needed before check-in"),并且如果予處理修飾符DEBUG 和RETAIL 都被定義,還會(huì)產(chǎn)生錯(cuò)誤。
C#預(yù)處理標(biāo)識(shí)符
C#預(yù)處理標(biāo)識(shí)符使用和規(guī)則C#標(biāo)識(shí)符文法相似的文法:
- 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 符號(hào)不是合法的預(yù)定義指示符,所以不能用于#define 的定義和#undef 的反定義。
C#預(yù)處理表達(dá)式
操作符!, ==, !=, && 和||是允許的預(yù)定義表達(dá)式。在預(yù)定義表達(dá)式中,圓括號(hào)可以用來(lái)分組。
- 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
 
【編輯推薦】















 
 
 
 
 
 
 