我想知道发送使用#define和#if语句的实例.我已经了解了一段时间,但从未将其纳入我的编码方式.这究竟是如何影响编译的?
#define是唯一决定编译时是否包含代码的东西吗?如果我将#define DEBUGme作为自定义符号,那么从编译中排除它的唯一方法是删除这个#define语句?
Eri*_*ins 13
在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()
}
Run Code Online (Sandbox Code Playgroud)
#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);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28853 次 |
最近记录: |