W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
預(yù)處理器指令為編譯器提供有關(guān)代碼區(qū)域的附加信息。
最常見(jiàn)的預(yù)處理器指令是條件指令。
例子:
#define DEBUG
class MyClass{
int x;
void OneMethod(){
#if DEBUG
Console.WriteLine ("Testing: x = {0}", x);
#endif
}
...
}
在上面的代碼中,OneMethod被編譯為有條件地依賴于DEBUG符號(hào)的存在。
如果我們刪除DEBUG符號(hào),則不編譯該語(yǔ)句。
使用#if和#elif指令,我們可以使用||,&&和!運(yùn)算符執(zhí)行或,和,而不是對(duì)多個(gè)符號(hào)的運(yùn)算。如果定義了TESTMODE符號(hào)并且未定義DEBUG符號(hào),則以下指令指示編譯器包括以下代碼:
#if TESTMODE && !DEBUG
...
#error和#warning符號(hào)防止意外誤用條件指令。
下表列出了預(yù)處理器偽指令。
預(yù)處理器指令 | Action |
---|---|
#define symbol | 定義符號(hào) |
#undef symbol | 未定義符號(hào) |
#if symbol[operator symbol2]... | 符號(hào)到測(cè)試運(yùn)算符是==,!=,&&和||后跟#else,#elif和#endif |
#else | 對(duì)隨后的#endif執(zhí)行代碼 |
#elif symbol[operator symbol2] | 結(jié)合#else分支和#if測(cè)試 |
#endif | 結(jié)束條件指令 |
#warning text | 在編譯器中輸出警告文本 |
#error text | 在編譯器中輸出錯(cuò)誤文本 |
#pragma warning [disable | restore] | 禁用或恢復(fù)編譯器警告 |
#line [number["file"] | hidden] | number指定源代碼中的行; file是在計(jì)算機(jī)輸出中出現(xiàn)的文件名; |
#region name | 標(biāo)記輪廓的開始 |
#endregion | 結(jié)束輪廓區(qū)域 |
為此,編譯器允許您使用#pragma warning指令選擇性地抑制警告。
在這個(gè)例子中,我們指示編譯器不要警告我們消息未被使用的字段:
public class Foo{
static void Main() { }
#pragma warning disable 414
static string Message = "Hello";
#pragma warning restore 414
}
省略#pragma warning指令中的數(shù)字將禁用或恢復(fù)所有警告代碼。
我們可以使用/warnaserror編譯代碼,以告訴編譯器將任何殘留警告視為錯(cuò)誤。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: