.net 預(yù)處理指令符的使用詳解
什么是預(yù)處理指令符?
當(dāng)C#編譯器找到一條預(yù)處理指令#if,最后找到一條指令時,#endif僅在定義了指定符號的情況下,編譯器才會在這些指令之間編譯代碼。與C和C ++不同,您不能將數(shù)字值分配給符號。#if C#中的語句為布爾型,僅測試符號是否已定義。
預(yù)處理指令符的使用
- #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í)行方法

使用Visual Studio快速定義指令符
VS站點-》右鍵-》屬性-》生成-》常規(guī)

定義生效后,通過csproj工程文件我們可以看到有兩條PropertyGroup對應(yīng)不同的Condition

定義指令符區(qū)域
你還可以使用以下兩個預(yù)處理程序指令定義可以折疊在大綱中的代碼區(qū)域:
- #region:開始一個區(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何輕松搭建Windows8云平臺的開發(fā)環(huán)境
Windows Store應(yīng)用是基于Windows 8操作系統(tǒng)的新一代Windows應(yīng)用程序,其開發(fā)平臺以及運行模式和以往傳統(tǒng)平臺略有不同。為了幫助更多開發(fā)人員加入到Windows Store應(yīng)用開發(fā)行列,本篇將介紹如何在Windows Azure云平臺搭建Windows8應(yīng)用開發(fā)環(huán)境,本篇介紹的方法適合未安裝Windows8操作系統(tǒng),使用Mac或者Linux平臺的開發(fā)人員參考閱讀。2013-02-02
asp.net(c#)動態(tài)修改webservice的地址和端口(動態(tài)修改配置文件)
這個問題其實并沒有我想像的那個復(fù)雜,我們都知道怎么直接修改吧,那就是修改WebConfig文件的配置節(jié)2012-12-12
ASP.NET MVC3的偽靜態(tài)實現(xiàn)代碼
最近使用asp.net MVC3開發(fā)B2C電子商務(wù)系統(tǒng),為了SEO的優(yōu)化工作,需要通過路由實現(xiàn)偽靜態(tài)URL,后續(xù)再根據(jù)需要生成真正的靜態(tài)頁面,不直接走路由訪問具體的頁面2011-12-12
asp.net 下載文件時根據(jù)MIME類型自動判斷保存文件的擴展名
如果我們沒法正確判斷下載源的文件類型的話,就無法保存為正確的文件格式,會給后續(xù)操作及人工閱覽造成困擾。 所幸的是,WebRequest可以給出下載源的MIME信息,這讓我們可以確定文件的真實格式,并以此來決定最終的存儲擴展名。(2009-11-11
.NET Core使用FluentEmail發(fā)送郵件的示例代碼
這篇文章主要介紹了.NET Core使用FluentEmail發(fā)送郵件的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10

