国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#.NET學習筆記5 C#中的條件編譯

2020-01-24 03:39:47
字體:
來源:轉載
供稿:網友
條件編譯是C#比Java多出的東西,但我跟前輩請教后,他們都說條件編譯在實際的項目開發中不怎么使用.鑒于是新內容,我還是做做筆記,理解一下好了.
  條件編譯屬于編譯預處理的范疇,它能讓我們通過條件編譯的機制,將部分代碼包括進來或者排除出去,其作用與if-else類似.
條件編譯指令有以下四種􀁺 #if􀁺 #elif􀁺 #else􀁺 #endif  條件編譯指令有以下四種
    #if
    #elif
      #else
    #endif
  下面我們通一些例子來說明它們的用法
復制代碼 代碼如下:

#define Debug
  class Class1
 {
      #if Debug
      void Trace(string s) {}
      #endif
 }

執行時由于第一行已經使用#define 指令定義了符號Debug, #if 的條件滿足,所以這段代碼等同于
復制代碼 代碼如下:

class Class1
{
   void Trace(string s) {}
}

再比如:  
復制代碼 代碼如下:

#define A
   #define B
   #undef C
   class D
  {
      #if C
         void F() {}
             #elif A && B
                void I() {}
      #else
         void G() {}
      #endif
  }

其編譯效果等同于:
復制代碼 代碼如下:

class C
{
   void I() {}
}

#if 指令可以嵌套使用, 例如:
復制代碼 代碼如下:

#define Debug // Debugging on
   #undef Trace // Tracing off
   class PurchaseTransaction
  {
      void Commit()
    {
      #if Debug
          CheckConsistency();
          #if Trace
            WriteToLog(this.ToString());
          #endif
      #endif
      CommitHelper();
     }
  }

預編譯和條件編譯指令還可以幫助我們在程序執行過程中發出編譯的錯誤或警告,相應的指令是#warning 和#error,下面的程序展示了它們的用法:
復制代碼 代碼如下:

#define DEBUG
   #define RELEASE
   #define DEMO VERSION
     #if DEMO VERSION && !DEBUG
        #warning you are building a demo version
     #endif
     #if DEBUG && DEMO VERSION
       #error you cannot build a debug demo version
     #endif
   using System;
   class Demo
  {
     public static void Main()
    {
      Console.WriteLine(“Demo application”);
    }
  }

作者:notifier
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜昌市| 平顶山市| 孟连| 稻城县| 阿勒泰市| 宜阳县| 南康市| 霍山县| 蚌埠市| 卓资县| 长子县| 万全县| 资阳市| 都昌县| 应城市| 右玉县| 淮滨县| 呼图壁县| 焦作市| 商南县| 开化县| 邛崃市| 华安县| 东港市| 北安市| 汝州市| 宜城市| 藁城市| 承德市| 福泉市| 灵山县| 彭山县| 文昌市| 青阳县| 紫金县| 阿荣旗| 长白| 赤峰市| 湖口县| 高淳县| 通州市|