1.#define相当定义一个变量 例如#define
DEBUG(这个符号不是实际代码的一部分,而只是在编译器编译代码时存在)在C#代码中它没有任何意义.
2.#undef:正好相反-删除符号的定义
3.#if,#elif,#else,#endif
int
DoSomeWork(double x)
{
#if
DEBUG
Response.Writer("hello
world");
#endif
}
这段代码会像往常那样编译但是response.writer命令包含在#if子句内,这行代码只有在前面的#define命令定义了符号DEBUG后才执行。
4.#warning
和#error
当编译器遇到它们时,会分别产生警告和错误。如果编译器遇到#warning指令,会给用户显示#warning指令后面的文本,之后编译继续进行。如果编译器遇到#error指令,就会给用户显示后面的文本,作为一个编译错误信息,然后会立即退出编译,不会生成IL代码
5.#region
和#endregion
这两个应该不陌生了吧,在代码块中经常会用到。
原文:http://www.cnblogs.com/xunkangsheng/p/3565689.html