在C##define
宏中,像Bernard的一些例子一样,是不允许的.C#中唯一常用的#define
/ #if
s用于添加可选的仅调试代码.例如:
static void Main(string[] args) { #if DEBUG //this only compiles if in DEBUG Console.WriteLine("DEBUG") #endif #if !DEBUG //this only compiles if not in DEBUG Console.WriteLine("RELEASE") #endif //This always compiles Console.ReadLine() }
#define用于定义编译时常量,您可以使用#if来包含或排除代码位.
#define USEFOREACH #if USEFOREACH foreach(var item in items) { #else for(int i=0; i < items.Length; ++i) { var item = items[i]; //take item #endif doSomethingWithItem(item); }