天轟穿C#教程之#if、#elif、#else和#endif

來源:互聯網
上載者:User

  老田:但看這個申明符號確實沒有什麼用。不過當它和#if、#elif、#else、#endif這些預先處理指令結合起來之後,它的功能就非常強大了。

  

  來看個樣本:

  

  #define debug  //嘗試注釋和取消注釋這一句,然後運行程式看效果

  

  using System;

  

  using System.Collections.Generic;

  

  using System.Linq;

  

  using System.Text;

  

  namespace第二章_樣本

  

  {

  

  classProgram

  

  {

  

  staticvoid Main(string[] args)

  

  {

  

  #if debug

  

  Console.WriteLine("確實申明了debug這個符號");

  

  Console.ReadLine();

  

  #else

  

  Console.WriteLine("切,都沒有申明");

  

  Console.ReadLine();

  

  #endif

  

  }

  

  }

  

  }

  

  執行後效果2-6

 

  

  圖2-6代碼輸入情況以及執行結果

  

  小天:上面樣本示範的效果是,如果前面申明了debug這個符號,那麼最終效果會顯示"確實申明了debug這個符號",如果將前面申明符號的語句注釋掉,則結果為"切,都沒有申明"。可是,這能夠說明什麼呢?有什麼用啊?

  

  老田:好好回憶下前面我們說的,是否是說預先處理指令的作用就是影響編譯器?換句話說,在上面你看到未顯示的代碼最終也不會被編譯器編譯。不會被編譯到程式,那麼程式的體積自然不會因為這段代碼而增大了。

  

  另外需要注意的是,如果使用#if,那麼一定記得使用#endif來關閉哦,因為編譯器認為從#if開始後到#endif之間的代碼都是屬於#if或者#else的。如果忽略那一段,那麼久"噢嘢"了。

  

  小天:明白了,娜還有個#elif是什麼意思?

  

  老田:這不知道是哪個懶人發明的,#elif = else if 。同時,#if這系列判斷也支援邏輯運算子!、==、!= 。下面我們來修改上面的代碼。再申明一個符號debug1,下面的判斷也增加一個,代碼如下

  

  #define debug  //嘗試注釋和取消注釋這一句,然後運行程式看效果

  

  #define debug1 //第二個樣本用的

  

  using System;

  

  using System.Collections.Generic;

  

  using System.Linq;

  

  using System.Text;

  

  namespace第二章_樣本

  

  {

  

  classProgram

  

  {

  

  staticvoid Main(string[] args)

  

  {

  

  #if debug  && debug1==false    //如果debug存在,同時debug1不存在

  

  Console.WriteLine("確實申明了debug這個符號");

  

  Console.ReadLine();

  

  #elif debug1  //如果debug不存在,而debug1存在

  

  Console.WriteLine("不錯哦,又申明了一個");

  

  Console.ReadLine();

  

  #else//如果兩個都不存在

  

  Console.WriteLine("切,都沒有申明");

  

  Console.ReadLine();

  

  #endif

  

  }

  

  }

  

  }

  

  猜猜上面的代碼會顯示哪一個結果。

  

  本文為天轟穿原著,轉載請註明出處及作者!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.