最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#預(yù)處理器指令的用法實例分析

 更新時間:2014年11月12日 11:08:32   投稿:shichen2014  
這篇文章主要介紹了C#預(yù)處理器指令的用法,以實例形式較為詳細(xì)的分析了預(yù)處理器指令的原理與相應(yīng)的用法,有助于深入理解C#程序的運(yùn)行原理,需要的朋友可以參考下

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

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

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

預(yù)處理指令都以#號開頭并位于行首前面可以出現(xiàn)空格符。

復(fù)制代碼 代碼如下:
#define DEBUG
#define ISSAY
 
上面的語句定義了連個個預(yù)編譯的符號,他的作用域是他所處整個文件,定義符號的語句必須出現(xiàn)在所有代碼之前, 否則編譯的時候會出現(xiàn)一個異常: 不能在文件的第一個標(biāo)記之后,定義或取消定義預(yù)處理器符號 。我們也可以使用#undef來取消一個符號的定義,先來看個例子。
復(fù)制代碼 代碼如下:
#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,緊接著第二行取消了這個符號的定義,也就是相當(dāng)于沒有定義一樣,所以程序運(yùn)行的時候不會執(zhí)行Console.Write("debug.")這個語句。第三行定義了ISSAY符號,所以程序輸出了“hello”,如果我們把他注釋了或者是刪除了,那么程序會輸出“you can say nothing“。我們可以初步看到通過定義預(yù)編譯的符號,可以控制編譯器選擇性地編譯代碼。上面的代碼中還有#if和#endif這樣的符號,這些是條件編譯指令。

2. 條件編譯指令

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

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

3. #region和#endregion

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

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

相關(guān)文章

  • C#Js時間格式化問題簡單實例

    C#Js時間格式化問題簡單實例

    這篇文章介紹了C#Js時間格式化問題簡單實例,有需要的朋友可以參考一下
    2013-10-10
  • C# KeyUp事件中MessageBox的回車(Enter)鍵回調(diào)問題解決方案

    C# KeyUp事件中MessageBox的回車(Enter)鍵回調(diào)問題解決方案

    這篇文章主要介紹了C# KeyUp事件中MessageBox的回車(Enter)鍵回調(diào)問題解決方案,需要的朋友可以參考下
    2014-07-07
  • 深入理解C♯ 7.0中的Tuple特性

    深入理解C♯ 7.0中的Tuple特性

    這篇文章主要介紹了C#7中Tuple特性的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),相信對大家具有一定的參考價值,需要的朋友可以們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-03-03
  • C# 創(chuàng)建,讀取,寫入XML文件

    C# 創(chuàng)建,讀取,寫入XML文件

    本篇文章主要介紹了C# 創(chuàng)建,讀取,寫入XML文件的方法,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • C#中yield關(guān)鍵字之從使用到原理分析

    C#中yield關(guān)鍵字之從使用到原理分析

    這篇文章主要介紹了C#中yield關(guān)鍵字之從使用到原理,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • C#實現(xiàn)類似新浪微博長URL轉(zhuǎn)短地址的方法

    C#實現(xiàn)類似新浪微博長URL轉(zhuǎn)短地址的方法

    這篇文章主要介紹了C#實現(xiàn)類似新浪微博長URL轉(zhuǎn)短地址的方法,涉及C#操作正則表達(dá)式的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 最新評論

    丰城市| 修水县| 偏关县| 洛宁县| 乌审旗| 亚东县| 通榆县| 明星| 奉新县| 缙云县| 崇信县| 吉安县| 河源市| 六枝特区| 家居| 黔东| 五寨县| 鄂托克前旗| 甘谷县| 高阳县| 西乌| 嫩江县| 栖霞市| 夹江县| 佛冈县| 会昌县| 东兴市| 阆中市| 阳江市| 临武县| 南靖县| 舞阳县| 万荣县| 楚雄市| 龙岩市| 抚宁县| 安龙县| 临清市| 买车| 郴州市| 苍南县|