手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#.NET学习笔记5 C#中的条件编译
C#.NET学习笔记5 C#中的条件编译
摘要:条件编译是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

【C#.NET学习笔记5 C#中的条件编译】相关文章:

获取字符串中的汉字拼音首字母

C#中静态的深入理解

使用@符号让C#中的保留字做变量名的方法详解

介绍C# 泛型类在使用中约束

C#生成随机字符串的实例

C#实现大数字运算的实例代码

C#.net中的类型转换详细介绍

C# 判断字符串为空的几种办法

解析C#中#region与#if的作用

.NET单点登陆的实现方法及思路

精品推荐
分类导航