为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > C#语言Windows程序设计(第2版)

C#语言Windows程序设计(第2版)

2019-01-08 10页 doc 32KB 105阅读

用户头像

is_841159

暂无简介

举报
C#语言Windows程序设计(第2版)C#语言Windows程序设计(第2版) 第1章 .NET与C#简介 学习要点 , 了解.NET平台、.NET Framework及.NET Framework类库 , 了解CLR的基本功能 , 了解C#语言的由来及其特点 1.1 .NET简介 1.1.1 .NET平台简介 微软公司总裁史蒂夫?鲍尔默对“什么是.NET”的解释是:.NET代表了一个集成、一个环境、一个编程的基本结构,它可以作为一个平台来支持下一代的互联网,是一个可实 .NET的评价是:这是一个崭新的平台,它将影响我们今后编写的现的环境。比尔?盖...
C#语言Windows程序设计(第2版)
C#语言Windows程序设计(第2版) 第1章 .NET与C#简介 学习要点 , 了解.NET平台、.NET Framework及.NET Framework类库 , 了解CLR的基本功能 , 了解C#语言的由来及其特点 1.1 .NET简介 1.1.1 .NET平台简介 微软公司总裁史蒂夫?鲍尔默对“什么是.NET”的解释是:.NET代表了一个集成、一个环境、一个编程的基本结构,它可以作为一个平台来支持下一代的互联网,是一个可实 .NET的评价是:这是一个崭新的平台,它将影响我们今后编写的现的环境。比尔?盖茨对 每一行应用程序代码,它将重新定义用户界面,屏幕以及人机交互方式都将大为改观,如同从DOS到Windows的转变一样,微软的所有产品都将受其影响。 如今.NET已是一个可以支持下一代互联网服务和运营的平台。这个平台包含微软新一代的操作系统、大量的互联网服务软件、对各种设备(移动通信设备、机顶盒、信息家电等)的支持和应用软件开发套件——Visual Studio.NET等。在这个平台下,从用户的角度看,只需发出请求,无论在什么设备上运行着什么操作系统,只要安装了.NET Framework,就可以运行.NET可执行程序,就能获得所需要的服务,而无须关心后台的复杂操作;从开发人员的角度看,平台对开发进行强有力的支持,方便创建各种应用软件(无论是传统的Windows应用软件还是Web站点),而且部署和发布应用程序更加简便。 .NET平台结构如图1-1所示。它采用开放式的体系结构,集中体现了微软公司在软件设计领域的先进技术成就,其核心技术包括.NET Framework、.NET企业服务器、模块服务以及Visual Studio.NET。 .NET Framework框架和工具Visual Studio.NET 互联网服务(如代码更新、数据库积木块服务查询、开发应用程序的组件等) 操作系统基础设施.NET企业服务器 运行.NET应用的设备(PC、设备智能手机、嵌入式设备等) 第1章 .NET与C#简介 图1-1 .NET平台结构 , .NET Framework:是.NET战略的核心,它为.NET平台下应用程序的开发和执行 提供基本的环境架构。 , .NET企业服务器:是一系列的技术服务产品,为用户提供数据通信、协作、交换、 存储等服务,包括SQL Server、BizTalk Server、Office Communications Server、 Host Integration Server和Exchange Server等。 , 积木块服务:主要是微软公司提供的COM+组件服务和XML Web服务技术,在 应用程序中作为功能模块调用,以便快速完成开发。 1.1.2 .NET Framework结构与功能 .NET Framework(.Net框架)是支持生成和运行.NET 应用程序以及XML Web Services 的内部Windows组件。为了创建和运行基于.NET平台的应用程序,.NET Framework提供了一个多语言组件开发、编译和运行的环境。图1-2是.NET Framework的组织结构图。 C#、VB.NET、C++、J#、F#等开发语言 .NET Framework 公共语言 .NET Framework类库开Windows应用ASP.NET应用发 工具数据处理组件:ADO.NET、XML、SQL等 .NET Framework基础类库IO、Drawing、Threading等 公共语言运行库CLR 操作系统 图1-2 .NET Framework的组织结构 .NET Framework主要包括3个部分:公共语言规范、.NET Framework类库和公共语言运行库。其中,公共语言运行库是.NET Framework的基础,其作用是托管和执行代码,并向托管代码提供内存管理、线程管理等服务;.NET Framework类库是一个综合性的面向对象的可重用类型集合,利用它可以开发多种应用程序;公共语言规范是公共语言运行库支持的语言功能的子集,包括几种面向对象的编程语言的通用功能。符合公共语言规范的组件和工具能够保证与其他符合公共语言规范的组件和工具交互操作。 .NET Framework正式发布的版本从1.0开始,逐步升级为1.1、2.0、3.0、3.5、4.0以及 4.5,并且仍在不断升级中。.NET Framework 1.0、1.1、2.0这3个版本是彼此完全独立 3 C#语言Windows程序设计,第2版, 的,可以同时位于一台计算机上,每个版本都有自己的公共语言运行库、类库和编译器等。 提示:虽然2.0版本以上的.NET Framework具有向下兼容性~但是有的软件可能无法运 行于高版本的.NET Framework中~所以~仍需要安装相应版本的.NET Framework。 .NET Framework实现的功能目标如下: , 对于不同的编程语言,提供一个统一的面向对象的编程环境;对于同一种编程语 言,无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或 者是在远程执行,其编程环境是基本一致的。 , 代码执行环境将软件部署和版本控制冲突最小化。 , 代码执行环境能够提高代码执行的安全性。 , 使开发人员能够轻松开发不同类型的程序(如传统的命令行、图形化的Windows 窗体应用程序、ASP.NET应用程序、XML Web Services以及Windows服务)。 , 能够按照工业标准生成所有应用,以确保基于.NET Framework 的代码可与其他任 何代码集成。 1.1.3 .NET Framework类库 .NET提供了强大的类库,如同VC有MFC类库、Delphi有VCL类库、Java有Swing和AWT等类库一样,这些类库封装了系统底层的功能,并提供了很好的操作方式,可以使开发者轻松地构建应用程序。.NET Framework类库是一个由Microsoft .NET Framework 中包含的类、接口和值类型组成的库,它封装了对Windows、网络、文件、多媒体的处理功能,是所有支持.NET的编程语言都能够使用的类库。类库的源代码保存在称为程序集的.DLL文件中。 .NET Framework类库中大约有7000多个类(每个类可能会有上百个方法或属性),这些类库被分类打包,功能相似的类库包含在同一个命名空间下,通过调用不同的命名空间来使用类库,完成不同的功能。 在.NET平台中进行开发的任何编程语言都使用同样的类库,由于统一了开发模式,开发者再也不必也没有必要掌握全面的开发技术(如ATL、COM、MFC、ASP、VB以及C++等)。所以,在.NET Framework 下,无论是开发桌面程序还是开发Web程序,因为使用的是同样的类库和几乎同样的技术,使得应用程序的开发因此变得非常简单。 提示:学习类库时~不需要掌握其全部应用技术~了解类库的基本架构和实现原理~并 能将其正确地运用于实际程序的开发中才是最重要的。 1.1.4 公共语言运行库(CLR)简介 公共语言运行库(Common Language Runtime,CLR)是.NET Framework的一大特色。CLR是一个执行并管理代码的中枢,它主要提供内存管理、线程管理、远程处理、异常处理、类加载、自动垃圾收集、安全和认证、通过 BCL 得到广泛的编程功能(包括 Web 服 4 第1章 .NET与C#简介 务和数据服务等),并且CLR还强制实施严格的类型安全检查,实施提高安全性和可靠性的其他形式的动作。 代码管理的概念是CLR的基本概念。以运行库为目标的代码称为托管代码,即在CLR下运行的代码都是托管代码,而不以运行库为目标的代码称为非托管代码。C#语言中代码也能使用非托管方式,但是考虑到代码的安全性,除非必要,不建议这么做。托管代码具有许多优点,如跨语言集成、跨语言异常处理、安全性增强、版本控制和部署支持、简化的组件交互模型、调试和服务等。 CLR的工作(托管代码的执行过程)如下。 (1)选择编译器 CLR是一个多语言执行环境,支持各种数据类型和语言功能,开发人员可能使用不同的编程语言编写代码,因此必须选择针对该编程语言的编译器或第三方编译器。为了能够正确使用CLR的功能,开发人员使用的语法必须符合公共语言规范CLS。 (2)将代码编译为Microsoft中间语言(MSIL) 当源代码编译为托管代码时,编译器将源代码编译为Microsoft中间语言(MSIL),这是一组可以有效地转换为本机代码且独立于CPU的指令,不是CPU能够直接执行的代码。MSIL包括用于加载、存储和初始化对象以及对对象调用方法的指令,还包括用于算术和逻辑运算、控制流、直接内存访问、异常处理和其他操作的指令。 (3)将MSIL编译为本机代码 在执行时,实时(JIT)编译器将MSIL编译为本机代码。这种本机代码是针对特定CPU结构的JIT编译器生成的(CLR为每种CPU结构都提供了JIT编译器)。JIT编译器并不是把整个应用程序一次编译完(这样会有很长的启动时间),而是只编译它调用的那部分代码(这是其名称由来)。代码编译过一次后,就将得到的内部可执行代码存储起来,直到退出该应用程序为止,这样在下次运行这部分代码时就不需要重新编译了。Microsoft认为这个过程要比一开始就编译整个应用程序代码的效率高得多,因为一个应用程序在运行过程中,其大部分代码实际上并不是在每次运行过程中都执行的。在此编译过程中,代码必须通过类型安全的验证。 (4)运行代码 CLR提供能够使执行发生以及可在执行期间使用的各种服务的结构。这些服务涉及垃圾回收、安全性、与非托管代码的互操作性、跨语言调试支持、增强的部署以及版本控制支持等。 整个CLR执行的工作流程如图1-3所示。 包含中间语言C#源代码C#编译器MSIL的程序集类加载器加执行并管理模块(包括载源程序集JIT实时自动垃圾回通过CLS和CTS 进行语言交互编译器收、COM交检查器进行包含中间语言安全检查互等)Basic源代码Basic编译器MSIL的程序集 图1-3 CLR的工作流程 5 C#语言Windows程序设计,第2版, 1.2 C#简介 C#(读作“C sharp”)是微软公司发布的一种安全、稳定、简单、运行于.NET Framework之上面向对象的编程语言。 1.2.1 C#语言的由来 随着软件开发技术的不断发展,程序员们不但要解决各种技术平台上的组件兼容问题,还需要解决由不同编程语言开发的组件间的集成问题;同时Web应用已成为一种趋势,编程语言还应该能够快速地进行网络应用的开发。为了满足这些需求,2000年微软公司发布了C#编程语言,是由Anders Hejlsberg和Scott Wiltamuth领导的小组专门为.NET平台设计的、运行于.NET Framework之上的编程语言。这种语言作为微软公司.NET战略的一部分,是.NET平台应用的首选语言,其版本随着Visual Studio.NET版本的逐步升级而升级。 对C#的由来有两种解释:从字面意义来解释,C#是C语言的开发利器;而微软公司给出的解释是:C#是C++的升级语言,具有比C++更优越的开发特性。C#在表达式、运算符和语句等方面沿用了C/C++的许多特性,而在类型安全、错误处理、版本转换、事件和垃圾回收等方面做了很大的改进和创新。 1.2.2 C#语言的特点 相对于其他常用编程语言,C#的特点可概括如下。 1(简洁的语法 C#语言相对C++语言而言,简单易学、容易入门。C#语言淘汰了C++语言中繁乱的表示符号和伪关键字,使用了有限的、统一的操作符、修饰符和运算符。另外,C#语言很少使用C++语言中功能强大却难以掌握的指针,因为使用指针可能会带来内存泄漏以及管理漏洞等不安全因素,这将使开发和维护的难度大大增加。而C#语言中操作的基本上是实例的对象,只有部分类的类型支持指针,而且不建议使用指针。 2(面向对象的设计 C#语言支持面向对象的所有关键特性,如封装、继承和多态等,是真正纯粹的面向对象的编程语言。 C#语言以类和结构为基础构建所有的类型,每种类型都是一个对象。C#语言通过命名空间对代码进行层次化的管理,所有的常量、变量、属性、方法、事件等都被封装在类中,从而使程序具有更好的可读性,并且避免了发生命名冲突的可能。 3(完备的安全性 默认情况下,代码工作在一种受托管的环境中,在托管环境下不允许进行类似直接存 6 第1章 .NET与C#简介 取内存的不安全操作。C#语言可以消除许多软件开发中常见的编程错误,如忘记初始化变量和数组越界等。此外,C#提供了边界检查和溢出检查等功能;使用垃圾回收减轻内存管理的负担;通过使用CLR提供的代码,在程序中配置安全等级和用户权限等。 4(版本控制 版本管理始终是比较棘手的问题。例如,由于多个应用程序都安装了名字相同版本不同的DLL,有时应用程序能够正常运行,更多时候会中断运行。C#语言内置了版本控制功能,可以很好地支持版本管理,从而使得C#语言开发的软件可以不断地进行更新和升级。 5(良好的兼容性 C#语言凭借.NET Framework平台对COM+组件、XML Web服务和MSMQ服务的支持,能够跨语言、跨平台交互操作,实现不同软件技术开发的组件之间以及组件之间跨互联网的调用。作为.NET Framework的首推语言,C#在很大程度上保持了对外界技术的兼容。 6(支持快速开发 C#语言增强了开发效率,借助Visual Studio可以通过拖放的形式自由添加组件并生成相应的代码。而自动生成的代码和手动添加的代码又相隔离,便于程序员检查自己的设计。 7(面向组件的开发 面向组件的设计方法是继面向对象的设计方法之后又一流行的趋势。在 C#语言中,组件可以在开发中直接使用,也可以通过调用对象所提供的方法来进行操作。数据访问组件是C#语言中最具特色的组件。 总之,C#语言简单实用、易于入门,特别是熟悉C/C++或Java等类似语言的开发者更可以很快转向C#程序开发。 习 题 1(什么是.NET平台, 2(CLR的优点有哪些,主要工作流程是什么, 3(.NET Framework由哪几部分组成,简要说明各部分的作用。 4(C#的主要特点有哪些, 7
/
本文档为【C#语言Windows程序设计(第2版)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索