Welcome 微信登录

首页 / 软件开发 / C#

名字空间和装配

名字空间和装配

名字空间和装配2007-11-10 本站 到现在为止,除了依赖一些提供的类(比如一开始我们就提到的System.Console)类,我们介绍的程序主要都是依靠自身来实现的。但更普遍的情况是,现实世界中的应用程序可能包含许多不同的部分。举个例子,一个应用程序系统可能需要依赖于许多不同的组件,一些是内部开发的,另一些是从别的软件开发商处购买的。使用名字空间和装配使得这种基于组件的系统成为可能。名字空间提供了一个逻辑上的层次结构体系,它即可以作为应用程序的内部结...
使用名字空间

使用名字空间

使用名字空间2007-11-10 本站 16.2.1 名字空间的声明名字空间的声明是关键字"namespace"后面跟名字空间名和名字空间主体,然后还可以跟一个分号。格式如下:namespace qualified-identifier namespace-body;名字空间的声明要么在编译单元(源文件)的第一行出现,要么作为成员出现在其它名字空间的声明之中。首次声明的名字空间是全局名字空间的成员,在别的名字空间内部声明的名字空间作为外...
使用指示符

使用指示符

使用指示符2007-11-10 本站 使用指示符的目的是为了方便使用其它的名字空间中定义的名字空间和类型。名字空间的指示符有两种:别名使用指示符(using-alias-directive)和名字空间使用指示符(using-namespace-directive)。16.3.1 别名使用指示符C#支持使用别名。别名使用指示符定义一个别名,以后就可以使用这个别名来代替一个类型。这在两个库的名字可能发生冲突的情况下非常有用。别名还可以避免使用冗长的名字空间。如...
对应用程序结构进行组织的程序示例

对应用程序结构进行组织的程序示例

对应用程序结构进行组织的程序示例2007-11-10 本站 上面我们介绍了对应用程序结构进行组织的方法,接下来我们举一个综合应用的例子。程序实现的功能非常简单,但其中用到了我们讲解的各方面的知识。在程序中,我们利用名字空间把应用程序功能进行分割,并且用到了在一个名字空间中包含多个类、在一个可执行文件中调用多个动态链接库的方法。程序中还用到了异常处理、类的继承、派生类对虚方法的重载、多态性的实现等概念,希望读者能够在阅读时认真注意这些用法,来加深对基本概念的...
组织应用程序

组织应用程序

组织应用程序2007-11-10 本站 在传统的应用程序中,动态链接库(Dynamic-Link Library,DLL)是一个非常重要的组成部分。在建立应用程序的可执行文件时,不需要将DLL链接到程序中,而是在程序运行时动态装载DLL。除了很小的程序以外,实际工作的一个应用程序通常都由若干的编译单元共同组成。出于方便,我们常常将大型的程序分为若干个相互联系的可执行程序和动态链接库。有经验的程序员一定深有体会,使用现有的各种语言开发工具来编写动态链接库是一...
文件和流

文件和流

文件和流2007-11-10 本站 文件(file)和流(stream)既有区别又有联系。文件是在各种媒质上(可移动磁盘、硬盘、CD等)永久存储的数据的有序集合。它是一种进行数据读写操作的基本对象。通常情况下文件按照树状目录进行组织,每个文件都有文件名、文件所在路径、创建时间、访问权限等属性。从概念上讲,流非常类似于单独的磁盘文件,它也是进行数据读取操作的基本对象。流为我们提供了连续的字节流存储空间。虽然实际存储的位置可以不连续,甚至可以分布在多个磁盘上,...
C#支持输入输出操作的类型

C#支持输入输出操作的类型

C#支持输入输出操作的类型2007-11-10 本站 StreamSystem.IO为我们提供了一个抽象类Stream,Stream类支持对字节的读写操作。在Stream类中包括了对异步操作的支持。既然Stream是抽象类,所有其它流的类就都必须从Steam类中继承。Stream类及其子类共同构成了一个数据源和数据存储的视图,从而封装了操作系统和底层存储的各个细节,使程序员把注意力集中到程序的应用逻辑上来。流包含以下基本操作:读操作(Reading)。即读...
C#的文件存储管理

C#的文件存储管理

C#的文件存储管理2007-11-10 本站 17.2.1 目录管理.Net框架结构在名字空间System.IO中为我们提供了Directory类来进行目录管理。利用它,我们可以完成对目录及其子目录进行创建、移动、浏览等操作,甚至还可以定义隐藏目录和只读目录。Directory的构造函数形式如下:public Directory(string path);其中的参数path表示目录所在的路径。Directory的主要属性有:●Attributes:0x01...
C#的异步文件操作

C#的异步文件操作

C#的异步文件操作2007-11-10 本站 先来说说同步和异步操作之间的主要区别。在同步I/O操作中,方法将一直处于等待状态,直到I/O操作完成。而在异步I/O操作中,在开始了I/O操作后,程序的方法可以转移去执行其它的操作,这样大大提高了程序执行的效率。由于是一个多任务的操作系统,在同一时刻系统可能会接受到多个I/O操作请求,要求对磁盘文件执行各种操作。如果采用同步方式,那么每时每刻最多只能有一个I/O操作在进行,而其它的任务都处于等待状态,系统的利用...
.Net框架结构提供的I/O方式

.Net框架结构提供的I/O方式

.Net框架结构提供的I/O方式2007-11-10 本站 在System.IS名字空间中提供了多种类型,用于进行数据文件和数据流的读写操作。这些操作可以同步进行,也可以异步进行。17.1.1 17.1.2 一个完整的应用程序,肯定要涉及到对系统和用户的信息进行存储、读取、修改等操作,还常常需要设计自己的文件格式。因此,有效地实现文件操作,是一个良好的应用程序所必须具备的内容。C#为我们提供了文件操作的强大功能。利用.Net环境所提供的功能,我们可以方便地...
C#的文件操作管理

C#的文件操作管理

C#的文件操作管理2007-11-10 本站 文件管理是操作系统的一个重要组成部分,而文件操作就是对用户在编写应用程序时进行文件管理的一种手段。目前有许多文件系统。在我们使用过的从Dos、Windows3.X、Windows95、WindowsNT、Windows2000这些操作系统中,用到了我们非常熟悉的FAT、FAT32、NTFS等文件系统。这些文件系统在操作内部实现时有不同的方式,然而它们提供给用户的接口是一致的。只要按照正规的方式来编写代码,而且程...
C#对注册表编程的支持

C#对注册表编程的支持

C#对注册表编程的支持2007-11-10 本站 注册表基础知识请参阅本站文章:在应用程序安装时,常常需要利用注册表来登记应用程序的名字、运行路径、用户对应用程序的配置信息等。许多应用程序在运行时也常常需要访问注册表。.Net框架结构在Microsoft.Win32名字空间内提供了两个类用于注册表操作:Registry和RegistryKey。这两个类都是密封类,不允许被其它类继承。Registry类中提供了7个公有的静态域,分别代表Windows注册表中...
C#注册表编程示例二:在“新建”中添加自己的文件类型

C#注册表编程示例二:在“新建”中添加自己的文件类型

C#注册表编程示例二:在“新建”中添加自己的文件类型2007-11-10 本站 下面的例子在桌面的右键快捷菜单中或在Windows资源管理器的“新建”中添加自己的文件类型。假设添加的是扩展名为“.cs”的文件,说明文件为“cs files”,默认文件的打开方式采用中的写字板notepad.exe打开。程序清单18-2:using System;using Microsoft.Win32...
C#注册表编程

C#注册表编程

C#注册表编程2007-11-10 本站 18.1.1 注册表概述Windows操作系统的注册表中包含了有关计算机运行方式的配置信息,其中包括Windows操作系统配置信息、应用程序配置信息、专用用户设置配置信息、环境配置信息等。另外,在WindowsNT和Windows2000操作系统中,注册表中还包含了安全性、网络管理等配置信息。详细内容请参阅本站文章:18.1.2 18.1.3 注册表编程示例...
在C#代码中调用C++和VB编写的组件

在C#代码中调用C++和VB编写的组件

在C#代码中调用C++和VB编写的组件2007-11-10 本站 如果不能和用别的编程语言编写的组件进行交互,这种编程技术的含金量就会大打折扣。.NET环境为我们提供了不同语言编写的组件之间相互调用的良好机制。只要按照.NET可操控代码的标准来编写组件,对于客户程序来说,调用者的组件是哪种语言编写的都无关紧要,调用的方式实际上没有什么区别。下面我们先后使用C++、VB和C#编写了自己的组件。这是一个简化的字典组件,字典在构造时没有装载语言库,需要使用Loa...
C#版本控制

C#版本控制

C#版本控制2007-11-10 本站 版本控制(Versioning)主要是为了解决组件的版本不兼容的问题。版本兼容的方式有:●源代码级兼容:依赖于旧版本的代码在重新编译之后能够与新版本兼容。●二进制兼容:依赖于旧版本的应用程序无需重新编译就能与新版本兼容。大多数语言根本不支持二进制级的版本兼容,其中许多在源代码级的兼容问题上也表现的不尽如人意。事实上,许多语言由于自身的缺陷,不改写客户代码就不可能实现组件的升级。举个例子,假设基类的作者写了一个叫Bas...
C#代码优化方法

C#代码优化方法

C#代码优化方法2007-11-10 本站 在编写基于.NET架构的应用程序,尤其是分布式时,我们常常极为关注应用程序的执行效率。如果掌握了如何编写高效率的代码,就能大幅度地提高应用程序的执行速度,并有助于减少应用程序的瓶颈(bottlenecks)。18.4.1 撤消我们知道,类object是.NET架构中的其它一个类的基类。类object是在System中定义的,它并没有声明析构函数,而是定义了一个保护类型的成员方法Finalize。如果.NET的运行...
C#关键字(as)

C#关键字(as)

C#关键字(as)2007-11-10 本站 关键字是预定义的保留字。编译器在扫描源程序时,遇到关键字将作出专门的解释,负责执行特定的任务。我们也可以认为关键字是语句的一部分。我们不能用关键字来定义各种类型的名称。不过,C#允许我们使用关键字前面符号@来作为自定义的名称。比如,我们不允许采用as,但可以采用@as来作为一个变量声明的名称。下面列出了C#中定义的关键字:...
c#学习教程

c#学习教程

c#学习教程2007-11-10 本站 网友投稿第一章 .Net编程语言C#1.1 1.2 1.3 第二章 运行环境:全面了解.NETC#运行在.NET平台之上,其各种特性与.NET密切联系。它没有自己的类库,许多强大的功能均来自.NET平台的支持。因此,要想真正掌握C#首先必须了解.NET。2.1 2.22.3 第三章 第四章 数据类型4.1 4.2 4.3 第五章 变量和常量5.1 5.2 第六章 类型转换6.1 6.2 第七章 表达式7.1 7.2 ...
<< 11 12 13 14 15 16 17 18 19 20 >>