手机
当前位置:查字典教程网 >编程开发 >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# DES加密算法中向量的作用详细解析

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

C# WINFORM 强制让窗体获得焦点的方法代码

C#中常使用进度条的代码

使用 C# 动态编译代码和执行的代码

C#委托初级使用的实例代码

C#中timer类的用法总结

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

精品推荐
分类导航