前言。对于开发人员来说,把c#语言及其相关环境。net framework描述为多年来最重要的新技术一点都不夸张。.
net提供了一种新环境。在这个环境中,可以开发出运行在windows上的几乎所有应用程序,而c#是专门用于。net的新编程语言。
例如,使用c#可以编写出动态web页面、xml web服务、分布式应用程序的组件、数据库访问组件或传统的windows桌面应用程序。本书介绍。net framework 1.
1,即。net framework的第2版,但本书的大部分内容也适用于。net framework 1.
0。如果使用1.0版本进行编码,就需要作一些修改,本书将在需要修改的地方指出要修改的内容。
不要被。net这个名称所愚弄,这个名称仅强调microsoft相信分布式应用程序是未来的趋势,即处理过程分布在客户机和服务器上,但c#不仅仅是编写internet或与网络相关的应用程序的一种语言,它还提供了一种编写windows平台上几乎任何类型的软件或组件的方式。另外,c#和。
net都对编写程序的方式进行了革新,更易于实现在windows上编程。
这是一个相当重要的声明。毕竟,我们都知道计算机技术的发展速度非常快,每年microsoft都会推出新软件、新的编程工具或windows的新版本,并宣称这些对开发人员都非常有用,.net和c#也不例外。
net和c#的重要性。
为了理解。net的重要性,考虑一下近10年来出现的许多windows技术的本质会有一定的帮助。尽管所有的windows操作系统在表面上看来完全不同,但从windows 3.
1(2023年)到windows server 2003,在内核上都有相同的windows api。在我们转而使用windows的新版本时,api中增加了非常多的新功能,但这是一个演化和扩展api的过程,并非是替换它。
开发windows软件所使用的许多技术和架构也是这样。例如,com (component object model,组件对象模型)是作为ole (object linking and embedding,对象链接和嵌入)开发出来的,那时,它在很大程度上仅是把不同类型的办公文档链接在一起,所以利用它可以把一个小excel电子**放在word文档中。之后,它逐步演化为com、dcom (distributed com,分布式组件对象模型)和最终的com+。
com+是一种复杂的技术,它是几乎所有组件通信方式的基础,实现了事务处理、消息传输服务和对象池。
microsoft选择这条道路的原因非常明显:它关注向后的兼容性。在过去的这些年中,第三方厂商编写了相当多的windows软件,如果microsoft每次都引入一项不遵循现有**基础的新技术,windows就不会获得今天的成功。
向后兼容性是windows技术的极其重要的特性,也是windows平台的一个长处,但它有一个很大的缺点。每次某项技术进行演化,增加了新功能后,都会比它以前更复杂。
很明显,对此必须进行改进。microsoft不可能一直扩展这些开发工具和语言,使它们越来越复杂,既要保证能跟上最新硬件的发展步伐,又要与20世纪90年代初开始流行的windows产品向后兼容。如果要得到一种简单而专业化的语言、环境和开发工具,让开发人员轻松地编写优秀的软件,就需要一种新的开端。
这就是c#和。net的作用。粗略地说,.
net是一种在windows上编程的新架构—— 一种新api。c#是一种新语言,它可以利用。net framework及其开发环境中的所有新特性,以及在最近20年来出现的面向对象的编程方法。
在继续介绍前,必须先说明,向后兼容性并没有在这个演化进程中失去。现有的程序仍可以使用,.net也兼容现有的软件。
软件组件在windows上的通信,现在几乎都是使用com实现的。因此,.net能够提供现有com组件的包装器(wrapper),以便。
net组件与之通信。
microsoft已经扩展了c++,提供了一种新语言j#,还对vb进行了很多改进,把它转变成为功能更强大的并允许把用这些语言编写的**用于。net环境。但这些语言都因有多年演化的痕迹,所以不能完全用现在的技术来编写。
本书将介绍c#编程技术,同时提供。net体系结构工作原理的必要背景知识。我们不仅会介绍c#语言的基础,还会给出使用各种相关技术的应用程序示例,包括数据库访问、动态的web页面、先进的图形技术和目录访问等。
惟一的要求是用户至少熟悉一门在windows上使用的高级语言,例如c++、vb或j++。
前面阐述了。net的优点,但并没有说它会使开发人员的工作更易于完成。在本节中,我们将简要讨论。net的改进特性。
面向对象的编程:.net framework和c#从一开始就完全是基于面向对象的。
优秀的设计:一个基类库,它是以一种非常直观的方式设计出来的。
语言的无关性:在。net中,和managed c++等语言都可以编译为通用的中间语言(intermediate language)。这说明,语言可以用以前没有的方式交互操作。
对动态web页面的支持:asp具有很大的灵活性,但效率不是很高,这是因为它使用了解释性的脚本语言,且缺乏面向对象的设计,从而导致asp**比较凌乱。.net使用一种新技术它为web页面提供了一种集成式的支持。
使用可以编译页面中的**,这些**还可以使用。net高级语言来编写,例如c#、j#或。
高效的数据访问:一组。net组件,总称为提供了对关系数据库和各种数据源的高效访问。
这些组件也可以访问文件系统和目录。.net内置了xml支持,可以处理从非windows平台导入或导出的数据。
**共享:.net引入了程序集的概念,替代了传统的dll,可以完美无暇地修补**在应用程序之间的共享方式。程序集有解决版本冲突的正式系统,程序集的不同版本可以同时存在。
增强的安全性:每个程序集还可以包含内置的安全信息,这些信息可以准确地指出谁或哪种类型的用户或进程可以调用什么类的哪些方法。这样就可以非常准确地控制程序集的使用方式。
对安装没有任何影响:有两种类型的程序集,分别是共享程序集和私有程序集。共享程序集是可用于所有软件的公共库,私有程序集只用于某个软件。
私有程序集功能完备,所以安装过程非常简单,没有注册表项,只需把相应的文件放在文件系统的相应文件夹中即可。
web服务的支持:.net集成了对开发web服务的完全支持,用户可以开发出任何类型的应用程序。
visual studio .net 2003:.net附带了一个开发环境visual studio .
net,它可以很好地利用c++、c#、j#、和进行**编写。visual studio .net集成了visual studio 6环境中各种语言专用的所有最佳功能。
c#:是使用。net的一种面向对象的新语言。
第1章将详细讨论。net体系结构的优点。
net framework 1.1中的新增特性。
net framework的第1版(1.0版)在2023年发布,赢得了许多人的喝彩。.net framework的最新版本1.
1在2023年发布,它被认为是对该架构进行了较小的改进。即使是较小的改进,新版本仍有一些非常明显的变化和新增的内容,值得我们**一番。
在对。net framework 1.1版本进行的所有改进中,microsoft试图确保对使用1.
0版本编写的**改动尽可能少。即使做了这样的努力,但在新版本中仍有一些显著的变化。许多**的改进是为了增强安全性。
读者可以在microsoft的gotdotnet web站点(上查看完整的改进列表。
下面详细论述。net framework 1.1版本中的一些改进和visual studio .
net 2003(.net framework 1.1的开发环境)的新增特性。
在使用。net framework 1.0和visual studio .
net 2002时,要创建可移动应用程序,就必须**microsoft mobile internet toolkit(mmit)。而现在,有了。net framework 1.
1和visual studio .net 2003,就可以直接创建可移动应用程序,不需要**其他工具包了。
在使用visual studio .net 2003创建新项目时,这是显而易见的。例如,在查看可以创建的c#项目类型列表时,会看到 mobile web application和smart device application。
mobile web application项目类型可以用于建立基于web的可移动应用程序。smart device application项目类型可以创建用于pocket pc或其他windows ce设备的应用程序。为windows ce设备建立的第三方客户应用程序利用的是compact framework,这是。
net framework的删节版本。
打开任何一种可移动项目类型,系统就会在visual studio .net工具箱中列出一组可用的可移动服务器控件,然后用户就可以使用这些控件创建应用程序。
在新的架构中,另一个大的变化是是访问和处理数据的。net方式,现在它有两个新的数据提供程序,其中一个用于odbc,另一个用于oracle。
在使用。net framework 1.0时,就可以使用odbc数据提供程序,但它需要单独**。另外,一旦**,这个数据提供程序的命名空间就是。
C高级编程 第6版 目录
第 部分c 语言。1.1 c 与。net的关系1.2.2提高性能。1.3.1面向对象和接口的支持1.3.3强数据类型1.3.5特性的使用1.5 net framework类1.7用c 创建。net应用程序1.9小结2.2.1 2.2.3详细介绍2.3.1变量的初始化2.3.3变量的作用域2.4.1值...
C高级编程 第6版 含目录
这个方法获得活动文档的计时器,选中 ribbon 菜单中的复选框,以更新文档的复选框 private void eventinterface windowactivate doc,wn thisaddin 的 还包含两个实用方法。第一个方法 toggletaskpanedisplay 用于设置 属性...
C 高级编程
第六章熟悉类与对象。6.1 电子 示例介绍。6.2 编写类。6.2.1 类定义。1.方法与成员。2.访问控制。3.声明的顺序。6.2.2 定义方法。1.访问数据成员。2.调用其他方法。指针。6.2.3 使用对象。1.堆栈中的对象。2.堆中的对象 6.3 对象的生命周期。6.3.1 创建对象。1.编写...