標籤:調試 htm 而在 文章 for 決定 depend ace 自己
C#和C/C++一樣,也支援預先處理指令,下面我們來看看C#中的預先處理指令。
#region
程式碼摺疊功能功能,配合#endregion使用,如下:
點擊後如下:
條件預先處理
條件預先處理可以根據給出的條件決定最終進行編譯的代碼,換句話說可以排除掉指定的代碼不進行編譯。
#define
定義一個宏,注意只要定義名稱就行了,不需要值。
一般會把宏定義寫在第一行。
#define IOS
這樣就表示IOS這個宏被定義出來了。
#undef
取消一個宏定義,如下:
#undef IOS
這樣可以取消IOS這個宏定義。
#if、#else、#elif、#endif
具體使用的指令,下面給出樣本:
1 #define ANDROID 2 #define IOS 3 #undef IOS 4 5 using System; 6 7 namespace Study 8 { 9 class Program10 {11 static void Main(string[] args)12 {13 14 #if ANDROID15 Console.WriteLine("Android 平台的代碼寫這裡。");16 #elif IOS17 Console.WriteLine("IOS 平台的代碼寫這裡。");18 #else19 Console.WriteLine("其他平台的代碼寫這裡。");20 #endif21 22 Console.Read();23 }24 }25 }
而在Unity中,已經對對應的平台和版本定義了相應的宏,可以查看下面的連結:
http://docs.unity3d.com/Manual/PlatformDependentCompilation.html
#warning、#error
這兩個指令可以使編輯器進行警告和報錯,一般和條件指令搭配,用於調試。
1 #warning 這裡不應該這麼寫!2 #error 這裡這麼寫是錯誤的!
#line
配合#warning和#error使用,可以設定報錯或警告的具體行數。
1 //200 行的問題2 #line 200 "可選的檔案名稱,表示具體有問題的檔案,不用加尾碼名。"3 //恢複行數為當前行數4 #line default
#pragma
這個指令可以通過我們自己擴充來完成特定的功能,這裡就不多講,給大家一個文章連結:
http://blog.csdn.net/jx_kingwei/article/details/367312
C#學習筆記:預先處理指令