C#.NET学习笔记5 C#中的条件编译
程序员文章站
2023-11-12 22:33:34
条件编译是c#比java多出的东西,但我跟前辈请教后,他们都说条件编译在实际的项目开发中不怎么使用.鉴于是新内容,我还是做做笔记,理解一下好了. 条件编译属于编译预处理的...
条件编译是c#比java多出的东西,但我跟前辈请教后,他们都说条件编译在实际的项目开发中不怎么使用.鉴于是新内容,我还是做做笔记,理解一下好了.
条件编译属于编译预处理的范畴,它能让我们通过条件编译的机制,将部分代码包括进来或者排除出去,其作用与if-else类似.
条件编译指令有以下四种???? #if???? #elif???? #else???? #endif 条件编译指令有以下四种
#if
#elif
#else
#endif
下面我们通一些例子来说明它们的用法
#define debug
class class1
{
#if debug
void trace(string s) {}
#endif
}
执行时由于第一行已经使用#define 指令定义了符号debug, #if 的条件满足,所以这段代码等同于
class class1
{
void trace(string s) {}
}
再比如:
#define a
#define b
#undef c
class d
{
#if c
void f() {}
#elif a && b
void i() {}
#else
void g() {}
#endif
}
其编译效果等同于:
class c
{
void i() {}
}
#if 指令可以嵌套使用, 例如:
#define debug // debugging on
#undef trace // tracing off
class purchasetransaction
{
void commit()
{
#if debug
checkconsistency();
#if trace
writetolog(this.tostring());
#endif
#endif
commithelper();
}
}
预编译和条件编译指令还可以帮助我们在程序执行过程中发出编译的错误或警告,相应的指令是#warning 和#error,下面的程序展示了它们的用法:
#define debug
#define release
#define demo version
#if demo version && !debug
#warning you are building a demo version
#endif
#if debug && demo version
#error you cannot build a debug demo version
#endif
using system;
class demo
{
public static void main()
{
console.writeline(“demo application”);
}
}
作者:notifier
条件编译属于编译预处理的范畴,它能让我们通过条件编译的机制,将部分代码包括进来或者排除出去,其作用与if-else类似.
条件编译指令有以下四种???? #if???? #elif???? #else???? #endif 条件编译指令有以下四种
#if
#elif
#else
#endif
下面我们通一些例子来说明它们的用法
复制代码 代码如下:
#define debug
class class1
{
#if debug
void trace(string s) {}
#endif
}
执行时由于第一行已经使用#define 指令定义了符号debug, #if 的条件满足,所以这段代码等同于
复制代码 代码如下:
class class1
{
void trace(string s) {}
}
再比如:
复制代码 代码如下:
#define a
#define b
#undef c
class d
{
#if c
void f() {}
#elif a && b
void i() {}
#else
void g() {}
#endif
}
其编译效果等同于:
复制代码 代码如下:
class c
{
void i() {}
}
#if 指令可以嵌套使用, 例如:
复制代码 代码如下:
#define debug // debugging on
#undef trace // tracing off
class purchasetransaction
{
void commit()
{
#if debug
checkconsistency();
#if trace
writetolog(this.tostring());
#endif
#endif
commithelper();
}
}
预编译和条件编译指令还可以帮助我们在程序执行过程中发出编译的错误或警告,相应的指令是#warning 和#error,下面的程序展示了它们的用法:
复制代码 代码如下:
#define debug
#define release
#define demo version
#if demo version && !debug
#warning you are building a demo version
#endif
#if debug && demo version
#error you cannot build a debug demo version
#endif
using system;
class demo
{
public static void main()
{
console.writeline(“demo application”);
}
}
作者:notifier
上一篇: C#数据结构与算法揭秘二
推荐阅读
-
C#.NET学习笔记5 C#中的条件编译
-
[ExtJS5学习笔记]第二十三节 Extjs5中表格gridpanel的列格式设置
-
C#学习笔记6-C#中类的声明及语法结构
-
(持续更新中)干货! 快速上手typescript的学习笔记 (对比JS特性,环境搭建,webpack配置,ts编译配置)
-
Redis学习笔记:Redis在C#中的使用
-
10.Laravel5学习笔记:Laravel中的批量赋值探索
-
CodeIgniter学习笔记 Item5--CI中的AR
-
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸_html5教程技巧
-
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸_html5教程技巧
-
[ExtJS5学习笔记]第二十三节 Extjs5中表格gridpanel的列格式设置