日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區(qū)平臺 聯系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > 預處理指令

預處理指令

來源:程序員人生   發(fā)布時間:2015-04-27 08:55:28 閱讀次數:3693次

C#預處理指令基本概念

雖然同C和C++的術語“預處理指令”名稱1樣,但C#的其實并沒有單獨的預處理步驟,也就是說在VS等環(huán)境中并沒有預處理的編譯器。

預處理指令能夠用于替換源文件中的信息。以#(Sharp)字符和預處理指令名稱開頭。例如:

#define MAX

習慣于將預處理指令的名稱全部設為大寫。和C與C++不同的是,C#中的預處理指令的名稱后不加數字等。CC++所支持的宏函數在C#中也是不支持的。

還可使用#region來設置1個區(qū)域,同時也能夠通過Visual Studio讓代碼折疊。常常在#region后加上該區(qū)域的名稱的字符串,可以實現注釋的作用。

#region C#預處理指令 #endregion

5個預處理指令

1.#undef

上面我們使用了#define,其實還是有#undef的。那末它又是做甚么的呢?

#define MAX static void Main(string[] args) { #if (MAX) Console.WriteLine("MAX已定義了。"); #endif }

如果我們Debug程序,就會在控制臺看到這樣1條:

MAX已定義了。

如果我們Release程序,得到的結果也還是1樣的,但是如果在代碼開頭加上:

#undef MAX

再來Debug控制臺就不會有消息提示了。

2.#if、#else、#elif

如果想要控制臺顯示MAX沒有定義的情況,那就用#else來搭配#if就能夠了。

#if (MAX) Console.WriteLine("MAX已定義了。"); #else Console.WriteLine("MAX還沒有定義。"); #endif

也許你在鍵入#else的時候也看到了#elif,這個自然就是對應的else if了。它們的邏輯和常規(guī)的if套裝是1樣的。

#define MAX #undef MAX #define MIN static void Main(string[] args) { #if (MAX) Console.WriteLine("MAX已定義了。"); #elif (MIN) Console.WriteLine("MIN已定義了。"); #else Console.WriteLine("MAX還沒有定義。"); #endif Console.ReadLine(); }

3.#warning、#error

這兩個預處理指令用于拋出異常和毛病。

#warning 這是1個強迫拋出的異常。

這里寫圖片描述

#error 這是1個強迫拋出的毛病。

這里寫圖片描述

4.#line

我們還可以用#line將以下#error這行代碼的行數設置為10000行,并將文件名設置為”毛病“。

static void Main(string[] args) { #line 10000 "毛病" #error 這是1個強迫拋出的毛病。 }

這里寫圖片描述

如果我們再添加這樣1行代碼,則會將行數和文件名恢復為默許的。

#line 10000 "Error" #error 這是1個強迫拋出的毛病。 #line default #warning 這是1個強迫拋出的正告。

這里寫圖片描述

5.#pragma

我們先在Program類前加上這樣1行代碼,它會引發(fā)CS3021毛病。

[CLSCompliant(false)]

然后我們在上面這行代碼前加入以下這行代碼,其作用是禁用warning 3021。那末再次Debug就會發(fā)現本來的毛病已不在了。

#pragma warning disable 3021

如果想要在后文中恢復這個CS3021毛病,就用restore便可。

#pragma warning restore 3021

以下是完全代碼。

#pragma warning disable 3021 [CLSCompliant(false)] class Program { static void Main(string[] args) {} } #pragma warning restore 3021 [CLSCompliant(false)] public class OtherProgram { public static void OtherMain() {} }

這個預處理指令實際上是非常復雜的,在各大百科上已有了相干介紹,以下是維基百科上的。傳送門:pragma once。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品一区二区av | 国产高清免费视频 | 日日噜噜夜夜狠狠 | 国产一区二区在线免费观看 | 亚洲国产成人精品女人 | 国产高清在线观看 | 免费av网站在线看 | 午夜精品久久久久久不卡av | 一级黄色大片在线观看 | 国产精品久久久久久久久久98 | a成人| 九九九久久久久久久 | 日韩综合久久 | 99在线免费视频 | 黄色片在线看 | 欧美日韩激情在线一区二区三区 | 日韩高清一区二区 | 欧亚日韩精品一区二区在线 | 99精品电影| 国产福利视频导航 | 99在线视频精品 | 国产在线视频一区二区 | 久久亚洲视频 | 欧美日韩国产一区二区三区 | 逼逼av| 久久久久久久久久电影 | 成人欧美一区二区三区黑人免费 | 久久国产免费看 | 一区二区高清 | 亚洲永久免费 | 一级电影在线播放 | 成人伊人 | 国产.com| 欧美日韩电影一区二区 | 国产精品v亚洲精品v日韩精品 | 欧美成人精品一区 | 国产一级片网站 | 亚洲精品乱码久久久久久 | 色综合视频在线观看 | 一级在线| 亚洲国产成人精品女人久久久 |