#if、#else、#elif、#endif
这组指令主要用于在调试环境下代码进行条件编译时,用于控制编译器对某个代码段是否进行编译。
#define release
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;
using System.Dynamic;
using System.ComponentModel;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
#if debug
Console.WriteLine("It's debug.");
#elif release
Console.WriteLine("It's release.");
#endif
Console.ReadLine();
}
}
}
#define debug
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;
using System.Dynamic;
using System.ComponentModel;
using System.Diagnostics;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
ShowDebug();
Console.ReadLine();
}
[Conditional("debug"), Conditional("release")]
static void ShowDebug()
{
Console.WriteLine("It's debug or release.");
}
}
}#define、#undef
这两个指令分别用于定义和取消定义一个给定名词的符号,该符号可以应用#if指令作为判断条件,和其他指令搭配才有意义。
#warning、#error
#warning指令用于发出警告信息,#error指令用于发出错误信息
#define TRACE_WARNING
#define TRACE_ERROR
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;
using System.Dynamic;
using System.ComponentModel;
using System.Diagnostics;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
#if TRACE_WARNING
#warning "别忘了还有事情没有处理。"
#endif
#if TRACE_ERROR
#error "这里是错的,注意哦"
#endif
Console.WriteLine("asfsdfsdfsadf");
Console.ReadLine();
}
}
}
本文详细介绍了C#中预处理器指令的使用方法,包括条件编译指令如 #if、#else、#endif 和符号定义指令如 #define、#undef 的应用场景。同时,还展示了如何利用 #warning 和 #error 指令来进行编译时警告和错误提示。
1117

被折叠的 条评论
为什么被折叠?



