當前位置:才華齋>計算機>C語言>

c#中預處理指令#if的使用

C語言 閱讀(1.61W)

引導語:預處理(pre-treatment),是指在進行最後加工完善以前進行的準備過程,具體應用在不同的行業或領域,會有不同的解釋,以下是小編整理的預處理指令#if的使用,歡迎參考閱讀!

c#中預處理指令#if的使用

#if 使您可以開始條件指令,測試一個或多個符號以檢視它們是否計算為 true。如果它們的計算結果確實為 true,則編譯器將計算位於 #if 與最近的 #endif 指令之間的'所有程式碼

  例如

#define DEBUG

// ...

#if DEBUG

eLine("Debug version");

#endif

可以使用運算子 ==(相等)、!=(不相等)、&&(與)及 ||(或)來計算多個符號。還可以用括號將符號和運算子分組。

  備註

使用 #if 以及 #else、#elif、#endif、#define 和 #undef 指令,可以包括或排除基於由一個或多個符號組成的條件的程式碼。這在編譯除錯版本的程式碼或編譯特定配置時最為有用。

以 #if 指令開始的條件指令必須用 #endif 指令顯式終止。

#define 使您可以定義一個符號,通過將該符號用作傳遞給 #if 指令的表示式,使該表示式計算為 true。

也可以用 /define 編譯器選項來定義符號。可以用 #undef 來取消定義符號。

用 /define 或 #define 定義的符號與具有同一名稱的變數不衝突。即,不應將變數名傳遞到前處理器指令,並且只能用前處理器指令計算符號。

用 #define 建立的符號的範圍是在其中定義該符號的檔案。

示例

// preprocessor_

#define DEBUG#define VC_V7

using System;

public class MyClass

{

static void Main()

{

#if (DEBUG && !VC_V7)

eLine("DEBUG is defined");

#elif (!DEBUG && VC_V7)

eLine("VC_V7 is defined");

#elif (DEBUG && VC_V7)

eLine("DEBUG and VC_V7 are defined");

#else

eLine("DEBUG and VC_V7 are not defined");

#endif

}

}

DEBUG and VC_V7 are defined