溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在.net中使用預(yù)處理指令符

發(fā)布時間:2021-04-08 15:31:34 來源:億速云 閱讀:135 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)如何在.net中使用預(yù)處理指令符,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

什么是預(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

如何在.net中使用預(yù)處理指令符

輸出結(jié)果:

如何在.net中使用預(yù)處理指令符

常用指令符:

如何在.net中使用預(yù)處理指令符

自定義指令符

舉例:我們需要兩個版本的代碼,基礎(chǔ)版、更多功能的企業(yè)版本。此時我們就可以通過自定義指令符來滿足定制化功能。

  • #define 自定義指令符

  • #undef 刪除指令符

如何在.net中使用預(yù)處理指令符

也可以通過屬性的方式來執(zhí)行方法

如何在.net中使用預(yù)處理指令符

使用Visual Studio快速定義指令符

VS站點-》右鍵-》屬性-》生成-》常規(guī)

如何在.net中使用預(yù)處理指令符

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

如何在.net中使用預(yù)處理指令符

定義指令符區(qū)域

你還可以使用以下兩個預(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è)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(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)容。

AI