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

首頁 > 編程 > C# > 正文

C#預處理器指令的用法實例分析

2019-10-29 21:45:08
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了C#預處理器指令的用法,以實例形式較為詳細的分析了預處理器指令的原理與相應的用法,有助于深入理解C#程序的運行原理,需要的朋友可以參考下
 

本文實例講述了C#預處理器指令的用法。分享給大家供大家參考。具體用法分析如下:

C#預處理器指令是在編譯時調用的。預處理器指令(preprocessor directive)告訴C#編譯器要編譯哪些代碼,并指出如何處理特定的錯誤和警告。C#預處理器指令還可以告訴C#編輯器有關代碼組織的信息。

1. 定義符號和取消符號定義的預處理指令#define 和 #undef

預處理指令都以#號開頭并位于行首前面可以出現空格符。

復制代碼代碼如下:
#define DEBUG
#define ISSAY
  
上面的語句定義了連個個預編譯的符號,他的作用域是他所處整個文件,定義符號的語句必須出現在所有代碼之前, 否則編譯的時候會出現一個異常: 不能在文件的第一個標記之后,定義或取消定義預處理器符號 。我們也可以使用#undef來取消一個符號的定義,先來看個例子。
復制代碼代碼如下:
#define DEBUG
#undef DEBUG
#define ISSAY   
  
using System;   
namespace JustDoIt   
{   
    class Program   
     {   
        static void Main(string[] args)   
         {
             #if DEBUG   
             Console.Write("debug.");
             #endif
             #if ISSAY   
             Console.Write("hello.");
         #else   
             Console.Write("you can say nothing.");
             #endif   
  
         Console.ReadLine();   
         }   
     }   
}   
//輸出:hello

從上面的代碼我們可以看到第一樣等一了符號DEEBU,緊接著第二行取消了這個符號的定義,也就是相當于沒有定義一樣,所以程序運行的時候不會執行Console.Write("debug.")這個語句。第三行定義了ISSAY符號,所以程序輸出了“hello”,如果我們把他注釋了或者是刪除了,那么程序會輸出“you can say nothing“。我們可以初步看到通過定義預編譯的符號,可以控制編譯器選擇性地編譯代碼。上面的代碼中還有#if和#endif這樣的符號,這些是條件編譯指令。

 

2. 條件編譯指令

條件編譯指令有4個,除了我們從第一個示例看到的#if、#else、#endif之外,還有一個#elif。我們對這些指令應該有是曾相識的感覺,他們跟我們平時編寫代碼的時候試用的條件語句是一樣的,條件語句是用來控制程序流的,而這些條件編譯指令是用來控制編譯器選擇性地編譯代碼的。

一條#if語句可以有0條或多條#elif語句,也可以有0條或一條#else 語句,但必須包括一條#endif語句必須有,否則會出現語法錯誤。

3. #region和#endregion

這兩個符號平時我們肯定用的很多了,就是把一些相關的代碼折疊到一起,這樣對我們在一個文件中編寫較長的代碼非常有用,我們可以把一組相關的代碼用#region和#endregion組織在一起并且可以在#region后面加上說明的文字,當這組代碼被折疊起來的時候,我們可以看到#region后面的說明文字。

希望本文所述對大家的C#程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 六盘水市| 买车| 开远市| 舞钢市| 天峨县| 霍林郭勒市| 抚宁县| 迭部县| 全州县| 信宜市| 深圳市| 新干县| 祁阳县| 南涧| 达孜县| 南丹县| 宽甸| 河源市| 噶尔县| 灌云县| 金沙县| 黑龙江省| 贡觉县| 潜江市| 武威市| 库伦旗| 舞阳县| 铅山县| 柘城县| 肥东县| 老河口市| 广德县| 康平县| 清原| 十堰市| 安溪县| 安新县| 安新县| 景泰县| 余姚市| 双江|