多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

預處理指令

來源:程序員人生   發布時間:2015-04-27 08:55:28 閱讀次數:3686次

C#預處理指令基本概念

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

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

#define MAX

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

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

#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了。它們的邏輯和常規的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行代碼,它會引發CS3021毛病。

[CLSCompliant(false)]

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

#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。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲欧美另类色妞网站 | 免费一级做a爰片性色毛片 免费一看一级毛片 | 国内精品久久久久影院老司 | 最近中文字幕视频完整 | 爱爱的免费视频 | 夜夜躁日日躁 | 亚洲资源站资源网在线 | 国产精品视频免费一区二区三区 | 免费一级欧美片在线观免看 | julia一区二区三区中文字幕 | 亚洲影院手机版777点击进入影院 | 中文字幕.com | japanese日本护士com | 高清在线一区二区三区亚洲综合 | 欧美1314www伊人久久香网 | 欧洲亚洲综合一区二区三区 | 91欧美一区二区三区综合在线 | 亚亚洲乱码一二三四区 | 清纯唯美亚洲综合五月天 | 久久国产精品久久久 | 亚洲va乱码一区二区三区 | 久久avav| 国产在线精品一区二区不卡 | 亚洲国产日韩欧美高清片a 亚洲国产日韩欧美一区二区三区 | 亚洲在线免费免费观看视频 | 欧美xxxx做受欧美人妖 | 欧美性大战久久久久久久 | 国产精品一区欧美日韩制服 | 日韩欧美自拍 | 亚洲欧美在线观看视频 | 国产午夜影院 | 国产亚洲精品久久久久久牛牛 | 国产1区二区| 亚洲一区二区三区高清 不卡 | 亚洲一区二区三区高清 不卡 | 亚洲五月激情 | 日韩欧美亚洲天堂 | 国产成人精品日本亚洲语音1 | 欧美日韩一级视频 | 男女做爽爽免费视频 | 国产成人精品免费视频大全五级 |