C#預處置器指令的用法實例剖析。本站提示廣大學習愛好者:(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#法式設計有所贊助。