您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)如何在.net中使用預(yù)處理指令符,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
當(dāng)C#編譯器找到一條預(yù)處理指令#if,最后找到一條指令時,#endif僅在定義了指定符號的情況下,編譯器才會在這些指令之間編譯代碼。與C和C ++不同,您不能將數(shù)字值分配給符號。#if C#中的語句為布爾型,僅測試符號是否已定義。
#if:打開條件編譯,僅在定義了指定符號的情況下才編譯代碼。
#elif:根據(jù)是否定義了指定的符號,關(guān)閉前面的條件編譯并打開新的條件編譯。
#else:如果未定義先前指定的符號,則關(guān)閉之前的條件編譯并打開新的條件編譯。
#endif:關(guān)閉前面的條件編譯。
條件編譯(編譯器會根據(jù)不同配置環(huán)境來執(zhí)行):
#if DEBUG Console.WriteLine("我是debug 模式!"); #elif RELEASE Console.WriteLine("我是relsease 模式!"); #else Console.WriteLine("我是自定義模式!"); #endif Console.WriteLine("我是沒有被任何預(yù)處理過得輸出!");
當(dāng)前解決方案編譯環(huán)境為Debug
輸出結(jié)果:
常用指令符:
舉例:我們需要兩個版本的代碼,基礎(chǔ)版、更多功能的企業(yè)版本。此時我們就可以通過自定義指令符來滿足定制化功能。
#define 自定義指令符
#undef 刪除指令符
也可以通過屬性的方式來執(zhí)行方法
VS站點-》右鍵-》屬性-》生成-》常規(guī)
定義生效后,通過csproj工程文件我們可以看到有兩條PropertyGroup對應(yīng)不同的Condition
你還可以使用以下兩個預(yù)處理程序指令定義可以折疊在大綱中的代碼區(qū)域:
#region:開始一個區(qū)域。
#endregion:結(jié)束區(qū)域
#region MyClass definition public class MyClass { static void Main() { } } #endregion
看完上述內(nèi)容,你們對如何在.net中使用預(yù)處理指令符有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。