簡而言之,c#中的預處理器指令並非蝦公尺高階的玩意兒,它並非可執行**的一部分,只是對編譯過程有所影響而已,它的作用並不如其在c和c++中那麼重要,c#中的其它一些特性分擔了許多c++中指令的功能,如定製特性。
c#中僅保留一些簡單常用的預處理器指令。
#define和 #undef
#define用來定義乙個符號, 當然這個符號並不存在真正意義上的所謂的值,僅僅是表示乙個符號的存在而已。相反,#undef用來刪除該符號。他們必須定義在原始檔的開始部分(using之前),一般情況下他們與#if結合起來使用
例如:debug
using
system;
using
system.collections.generic;
using
system.linq;
using
system.text;
namespace
class
program}}
f5一下,該字元將被列印出來。
如果我們在#define debug之後加上一行#undef debug,處在#if #endif之間的**會變成灰色。重新執行該程式,字元將不會被列印。
#warning 和 #error
顧名思義,這兩個指令用來產生警告和錯誤。如果我們定義了debug這個符號。
void
main(
string
args)
編譯的時候將產生一條警告資訊,如果把#warning換成#error,編譯將無法通過,除非你用#undef刪除該符號。
#line
該指令用來改變警告或錯誤資訊中顯示的檔名和行號。
static
void
main(
string
args)
這種情況下警告就不會產生了。當然你也可以用#pragma warning restore來恢復該警告。
至於#if/#endif以及#region/#endregion就不說了。
C 中的預處理指令
c 中的預處理指令 作為預處理中的一對 region name endregion可能是大家使用得最多的,我也常用它來進行 分塊,在乙個比較長的cs檔案中,這麼做確實是一件可以讓你使 更清晰的好辦法,vs也自動用這個來包含自動生成的 它這麼做既可以使開發人員更清晰的檢視自己的 也開了乙個好頭,使更多...
C 預處理指令
1.define 通常和 if一起使用 使用 define可以定義乙個符號,並通過將該符號用作表示式傳遞給 if 指令,使該表示式的計算結果為true 比如 preprocessor if.cs define debug define vc v7 using system public class ...
C預處理指令
一 預處理的由來 在c 的歷史發展中,有很多的語言特徵 特別是語言的晦澀之處 來自於c語言,預處理就是其中的乙個。c 從c語言那裡把c語言預處理器繼承過來 c語言預處理器,被bjarne博士簡稱為cpp,不知道是不是c program preprocessor的簡稱 二 常見的預處理功能 預處理器的...