文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发C/C++C#中的预处理器指令
精品推荐
特别推荐
·C语言编程易犯毛病集合
·C语言编程常见问题解答(目录)
·C#程序开发中的常用函数汇总
·C#数据库操作的三种经典用法
·C/C++笔试、面试题目大汇总
·Beej的网络socket编程指南
·socket编程原理
·C语言的常用库函数使用方法分析及用途
·在C语言中如何处理时间和日期
·C++设计模式之Singleton
·VC++动态链接库编程之MFC扩展 DLL
·TCP/IP网络重复型服务器通信软件的设计
·DirectX游戏开发入门
·经典与现代的结合:在MFC中集成RAD .NET框架
·Windows API-GDI入门基础知识详解(2)
·Visual C++ 入门精解
·C#基础概念二十五问
·用C#实现pdf文件的完整性验证
·成为嵌入式程序员应知道的0x10个问题
·TCP/IP编程实现远程文件传输
热点TOP10
·C#基础概念二十五问
·TCP/IP编程实现远程文件传输
·socket编程原理
·Beej的网络socket编程指南
·如何用C#编写文本编辑器
·C/C++笔试、面试题目大汇总
·c#的random shuffle
·C#编写的windows计算器-源代码
·改编 的 C版 职工管理系统
·C语言的常用库函数使用方法分析及用途
·C# GridView 排序及分页
·C#源码读取excel数据到程序中-SQL SERVER-到dataset中
·Visual C++ 实现数字化图像的分割
·C语言编程常见问题解答(目录)
·C语言图形函数
·飞机订票系统设计
·DirectX游戏开发入门
·Windows下C语言网络编程快速入门
·学生成绩管理系统实习
·用C#下的Raw Socket编程实现网络封包监视

C#中的预处理器指令

日期:2008年3月6日 作者: 查看:[大字体 中字体 小字体]


C#有许多名为预处理器指令的命令。这些命令从来不会被翻译为可执行代码中的命令,但会影响编译过程的各个方面。例如,预处理器可禁止编译器编译代码的某一部分。如果计划发布两个版本的代码,比如基本版本和企业版本,或者针对不同的.NET Framework版本进行编码,就可以使用这些指令。在Anthem.NET的代码中我们经常可以看到这种用法。

预处理器指令的开头都有符号#。

注意:

C#中并没有一个像C++那样的独立预处理器,所谓的预处理器指令仍由编译器处理。

下面将对这些指令逐一介绍。

1. #define和#undef

#define可以定义符号。当将符号用作传递给#if指令的表达式时,此表达式的计算结果true。如

#define DEBUG

它告诉编译器存在给定名称的符号,在本例中是DEBUG。这个符号不是实际代码的一部分,只在编译代码时存在。

#undef正好相反,它删除一个符号。

必须把#define和#undef命令放在C#源码的开头,即在要编译的任何代码之前。它不像C++中那样可以定义常数值。

#define本身并无大用,它需要配合#if指令使用。

2. #if, #elif, #else和#endif

这些指令告诉编译器是否要编译某个代码块。看下面的方法:

static void PrintVersion() { #if V3 Console.WriteLine("Version 3.0"); #elif V2 Console.WriteLine("Version 2.0"); #else Console.WriteLine("Version 1.0"); #endif } 上面的代码会根据定义的符号来打印不同的版本信息。 这种方式成为条件编译。

注意:

使用#if不是条件编译代码的唯一方式,C#还提供了通过Conditional属性的机制。

#if和#elif还支持一组逻辑运算符!=,==,!=和   。如果符号存在,符号的值被认为是true,否则为false,如:

#if V3    (V2 == true) // if 定义了V3或V2符号...

3. #warning和#error

这也是两个很有用的预处理器指令,编译器遇到它们时,会分别产生警告或错误信息。如果遇到#warning指令,会向用户显示#warning指令后面的文本。实际上,在VS2005中,IDE会直接将信息标识出来:

编程实例 C#中的预处理器指令

而如果编译器遇到#error,就会立即退出编译,不会产生IL代码。

4. #region和#endregion

#region和#endregion指令用于把一段代码标记为有指定名称的一个块,如下所示:

#region private methods private int x; private int y; #endregion这两个指令不会影响编译过程。但可以为VS编辑器所识别,从而使得代码显示布局更为清晰。

5. #line

该指令可以用于改变编译器在警告和错误信息中显示的文件名和行号信息。如果编写代码时,要使用某些软件包改变键入的代码,就可以使用这个指令。

6. #pragma,#pragma warning,#pragma checksum

#pragma:为编译器提供特殊的指令,说明如何编译包含杂注的文件。

#pragma warning:可启用或禁用某些警告。

#pragma checksum:生成源文件的校验和,以帮助调试Asp.Net页。

(出处:http://www.viphot.com/)






上一篇:动下注册表 让Vista响应速度更快

下一篇:微软向批量授权客户发放Vista SP1

C#中的预处理器指令 相关文章:
·初级网管或黑客必需撑握的8个DOS命令
·Linux常用命令详解
·千个常用DOS命令全面收藏
·DOS命令字典
·DEBUG命令大全
·Quidway(R)系列路由器调试命令
·用net start 可以启动的服务命令一览
·3Ds max多边形建模主要功能命令
·CS起源-控制台命令大全
·详细介绍ORACLE sqlplus命令
C#中的预处理器指令 相关软件:
·NDS《哈利波特和凤凰令》模拟器
·shell编程和unix命令
·20部会令你流泪的韩国MTV(上)
·魔法门6 天堂之令
·常用网络命令 视频教程
·命令与征服黄金版
·降爱密令
·独孤残红作品《销魂一指令》
·20部会令你流泪的韩国MTV(下)
·飘花令

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn