- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
《C#高级编程( 第6版 )》.pdf
第1 章 .NET 体系结构
我们不能孤立地使用 C#语言,而必须和.NET Framework 一起考虑。C#编译器专门用于.NET,这
表示用 C#编写的所有代码总是在.NET Framework 中运行。对于C#语言来说,可以得出两个重要的结
论:
(1) C#的结构和方法论反映了.NET 基础方法论。
(2) 在许多情况下,C# 的特定语言功能取决于.NET 的功能,或依赖于.NET 基类。
由于这种依赖性,在开始使用C#编程前,了解.NET 的结构和方法论就非常重要了,这就是本章
的目的。下面是本章的内容:
● 本章首先了解在.NET 编译和运行所有的代码(包括 C#)时通常会出现什么情况。
● 对这些内容进行概述之后,就要详细阐述 Microsoft 中间语言(Microsoft
Intermediate Language,MSIL 或简称为 IL),.NET 上所有编译好的代码都要使用这种语言。本章特别
要介绍 IL 、通用类型系统(Common Type System ,CTS) 及公共语言规范(Common Language
Specification,CLS)如何提供.NET 语言之间的互操作性。最后解释各种语言如何使用.NET,包括Visual
Basic 和 C++ 。
● 之后,我们将介绍.NET 的其他特性,包括程序集、命名空间和.NET 基类。
● 最后本章简要探讨一下 C#开发人员可以创建的应用程序类型。
1.1 C#与.NET 的关系
C#是一种相当新的编程语言,C# 的重要性体现在以下两个方面:
● 它是专门为与 Microsoft 的.NET Framework 一起使用而设计的。(.NET Framework 是一个功能
非常丰富的平台,可开发、部署和执行分布式应用程序) 。
● 它是一种基于现代面向对象设计方法的语言,在设计它时,Microsoft 还吸取了其他类似语言
的经验,这些语言是近20 年来面向对象规则得到广泛应用后才开发出来的。
有一个很重要的问题要弄明白:C#就其本身而言只是一种语言,尽管它是用于生成面向.NET 环
境的代码,但它本身不是.NET 的一部分。.NET 支持的一些特性,C#并不支持。而 C#语言支持的另
一些特性,.NET 却不支持(例如运算符重载) !
但是,因为 C#语言是和.NET 一起使用的,所以如果要使用 C#高效地开发应用程序,理解
Framework 就非常重要,所以本章将介绍.NET 的内涵。
1.2 公共语言运行库
.NET Framework 的核心是其运行库的执行环境,称为公共语言运行库(CLR)或.NET 运行库。通
常将在 CLR 的控制下运行的代码称为托管代码(managed code) 。
但是,在 CLR 执行编写好的源代码之前,需要编译它们(在 C# 中或其他语言中) 。在.NET 中,编
译分为两个阶段:
(1) 把源代码编译为 Microsoft 中间语言(IL) 。
(2) CLR 把 IL 编译为平台专用的代码。
这个两阶段的编译过程非常重要,因为 Microsoft 中间语言(托管代码)是提供.NET 的许多优点的
关键。
Microsoft 中间语言与Java 字节代码共享一种理念:它们都是低级语言,语法很简单(使用数字代
码,而不是文本代码) ,可以非常快速地转换为内部机器码。对于代码来说,这种精心设计的通用语
法有很重要的优点:平台无关性、提高性能和语言的互操作性。
1.2.1 平台无关性
首先,这意味着包含字节代码指令的同一文件可以放在任一平台中,运行时编译过程的最后阶段
可以很容易完成,这样代码就可以运行在特定的平台上。换言之,编译为中间语言就可以获得.NET
平台无关性,这与编译为 Java 字节代码就会得到 Java 平台无关性是一样的。
注意.NET 的平台无关性目前只是一种可能,因为在编写本书时,.NET 只能用于Windows 平台,
但人们正在积极准备,使它可以用于其他平台(参见 Mono 项目,它用于实现.NET 的开放源代码,参
见 /) 。
1.2.2 提高性能
前面把 IL 和 Java 做了比较,实际上,IL 比Java 字节代码的作用还要大。IL 总是即时编译的(称
为 JIT 编译),而Jav
您可能关注的文档
- 《220、110kV变电站二次系统通用设计简介》.ppt
- 《220~500kV变电所设计技术规程》.doc
- 《23XRV变频螺杆冷水机组》.pdf
- 《2_常见边坡稳定分析方法综述》.pdf
- 《2全变频VRV产品和设计》.ppt
- 《2计算机中的数制和编码》.ppt
- 《3 从学习VB.NET基本要素开始学习编程》.ppt
- 《3-技术标准的编写(傅新珠)》.pdf
- 《3.2+3.3信息的编程加工+信息的智能化加工》.ppt
- 《3.3 半桥变换器》.pdf
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)