.net 預(yù)處理指令符的使用詳解
什么是預(yù)處理指令符?
當(dāng)C#編譯器找到一條預(yù)處理指令#if,最后找到一條指令時(shí),#endif僅在定義了指定符號(hào)的情況下,編譯器才會(huì)在這些指令之間編譯代碼。與C和C ++不同,您不能將數(shù)字值分配給符號(hào)。#if C#中的語(yǔ)句為布爾型,僅測(cè)試符號(hào)是否已定義。
預(yù)處理指令符的使用
- #if:打開條件編譯,僅在定義了指定符號(hào)的情況下才編譯代碼。
- #elif:根據(jù)是否定義了指定的符號(hào),關(guān)閉前面的條件編譯并打開新的條件編譯。
- #else:如果未定義先前指定的符號(hào),則關(guān)閉之前的條件編譯并打開新的條件編譯。
- #endif:關(guān)閉前面的條件編譯。
條件編譯(編譯器會(huì)根據(jù)不同配置環(huán)境來(lái)執(zhí)行):
#if DEBUG Console.WriteLine("我是debug 模式!"); #elif RELEASE Console.WriteLine("我是relsease 模式!"); #else Console.WriteLine("我是自定義模式!"); #endif Console.WriteLine("我是沒有被任何預(yù)處理過得輸出!");
當(dāng)前解決方案編譯環(huán)境為Debug
輸出結(jié)果:
常用指令符:
自定義指令符
舉例:我們需要兩個(gè)版本的代碼,基礎(chǔ)版、更多功能的企業(yè)版本。此時(shí)我們就可以通過自定義指令符來(lái)滿足定制化功能。
- #define 自定義指令符
- #undef 刪除指令符
也可以通過屬性的方式來(lái)執(zhí)行方法
使用Visual Studio快速定義指令符
VS站點(diǎn)-》右鍵-》屬性-》生成-》常規(guī)
定義生效后,通過csproj工程文件我們可以看到有兩條PropertyGroup對(duì)應(yīng)不同的Condition
定義指令符區(qū)域
你還可以使用以下兩個(gè)預(yù)處理程序指令定義可以折疊在大綱中的代碼區(qū)域:
- #region:開始一個(gè)區(qū)域。
- #endregion:結(jié)束區(qū)域
#region MyClass definition public class MyClass { static void Main() { } } #endregion
參考鏈接
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/preprocessor-directives
https://blog.walterlv.com/post/how-to-define-preprocessor-symbols.html
https://www.cnblogs.com/woxihuadabai/p/8005892.html
到此這篇關(guān)于.net 預(yù)處理指令符的使用的文章就介紹到這了,更多相關(guān).net 預(yù)處理指令符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ASP.NET?Core中的策略授權(quán)和ABP授權(quán)
這篇文章介紹了ASP.NET?Core中的策略授權(quán)和ABP授權(quán),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02TreeView創(chuàng)建IHierarchicalDataSource類型的數(shù)據(jù)源實(shí)現(xiàn)
為TreeView創(chuàng)建IHierarchicalDataSource類型的數(shù)據(jù)源實(shí)現(xiàn)2009-01-01ASP.NET MVC5網(wǎng)站開發(fā)我的咨詢列表及添加咨詢(十二)
這篇文章主要為大家詳細(xì)介紹了ASP.NET MVC5網(wǎng)站開發(fā)我的咨詢列表及添加咨詢,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-09-09ASP.NET MVC5網(wǎng)站開發(fā)添加文章(八)
小編整理的ASP.NET MVC5網(wǎng)站開發(fā)是一系列的文章體系,大家要一篇篇的仔細(xì)閱讀,今天這篇文章主要介紹了ASP.NET MVC5網(wǎng)站開發(fā)添加文章,需要的朋友可以參考下2015-09-09