C#程序员参考手册
基本信息
- 原书名: C# Programmer's Reference
- 原出版社: Wrox Press
- 作者: Grant Palmer
- 译者: 康博
- 丛书名: 清华版WROX公司.NET和Oracle编程经典系列
- 出版社:清华大学出版社
- ISBN:7302058083
- 上架时间:2002-9-17
- 出版日期:2002 年9月
- 开本:16开
- 页码:484
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > C#
编辑推荐
本书非常适合于已了解C#的基本知识,但需要该语言和常用类库的简明参考的读者。虽然本书的目的不是作为指财,但它对以下读者也是很适合的:已了解一种与C语法类似的语言的读者。希望通过简短的代码示例学习编程语言的读者。有一定C#编程经验,但最喜欢在编写代码时手边有一本参考书的读者。
内容简介回到顶部↑
在微软为.NET Framework推出的各种语言中,综合了Visual Basic的高效性和C/C++的强大功能的C#己成为最受青睐的语言。其现代、简单、完全面向对象和类型安全的特性使它成为下一代的分布式应用程序的主流开发语言。
本书对C#的主要功能和核心类库提供了一个快速的参考。本书讲述了各种C#概念和特性,如类型系统、运算符、局部变量、数组、类、结构、枚举、字段、方法、属性、委托、事件、属性标志、系统类、集合、反射和正则表达式等。全书章节段落结构清楚,内容简明,切中要点,反映了作者多年的编程经验。
本书适合于需要C#语言和.NET Framework类库的快速参考的程序员和希望通过代码示例学习编程的程序员阅读。
本书对C#的主要功能和核心类库提供了一个快速的参考。本书讲述了各种C#概念和特性,如类型系统、运算符、局部变量、数组、类、结构、枚举、字段、方法、属性、委托、事件、属性标志、系统类、集合、反射和正则表达式等。全书章节段落结构清楚,内容简明,切中要点,反映了作者多年的编程经验。
本书适合于需要C#语言和.NET Framework类库的快速参考的程序员和希望通过代码示例学习编程的程序员阅读。
作译者回到顶部↑
目录回到顶部↑
第1章 编译和程序结构
1.1 基本的c并语法
1.1.1 注释
1.1.2 main()方法
1.2 编译一个c#程序
1.3 命名空间
1.4 小结
第2章 c#类型系统
2.1 通用类型系统
2.1.1 公共语言规范
2.1.2 类型层次结构
2.2 栈和托管堆
2.3 值类型
2.3.1 内建值类型
2.3.2 用户定义的值类型
2.4 引用类型
2.4.1 预定义的引用类型
2.4.2 用户定义的引用类型
2.5 确定类型
2.6 强制类型转换
1.1 基本的c并语法
1.1.1 注释
1.1.2 main()方法
1.2 编译一个c#程序
1.3 命名空间
1.4 小结
第2章 c#类型系统
2.1 通用类型系统
2.1.1 公共语言规范
2.1.2 类型层次结构
2.2 栈和托管堆
2.3 值类型
2.3.1 内建值类型
2.3.2 用户定义的值类型
2.4 引用类型
2.4.1 预定义的引用类型
2.4.2 用户定义的引用类型
2.5 确定类型
2.6 强制类型转换
前言回到顶部↑
C#编译器所属的.NETFramework是微软为开发应用程序并管理其运行时执行而创建的一个革命性的新平台。除了开发工具——如崭新的C#语言和原有语言的最新版本(包括Visual Basic、C++和JScript)——.NET Framework还有两个主要组成部分:一个称为公共语言运行时(CLR)的运行时环境(CLR在很多功能上类似于Java虚拟机),和一个提供在Windows平台上开发Windows应用程序所需的几乎所有常见功能的很大的类库。需要强调的一点是,.NET Framework本身不是一个操作系统,但它以操作系统为基础。现在,.NET的惟一实现是基于Windows系统的,但其他实现(尤其是基于Linux的)已经在开发过程中。在这些实现中也将包括C#编译器。
.NETFramework有各种版本。要运行.NET应用程序,宿主计算机必须安装.NET。对于客户端,如Windows应用程序,需要安装Framework的一个可再发布的精简版本,以保证客户端能够运行该程序。这个版本的.NET可以安装在Windows 9x/ME机器上,并能利用任何文本编辑器编写和编译C#程序,而严肃的开发工作要求安装完全版本的.NET软件开发工具包(SDK)。它可以从微软的MSDN网站免费下载,除.NET外,还包括许多工具和文档。这个版本的.NET可以在WindowsNT4、2000或XP上运行。
最后,严肃的开发工作还要求有一个具备调试代码、智能感知和自动完成等功能的集成开发环境(IDE)。C#开发的标准IDE是Visual Studio.NET(VS.NET),它是为编写.NET应用程序专门设计的,能为Windows应用程序和Windows服务这样的工程生成许多标准的基础代码。VS.NET本身有各种版本,从Visual C# .NET Studard Edition(它只支持C#)到Visual Studio.NET Enterprise Architect,它允许用C#、Visual Basic.NET和C++开发应用程序。VS.NET还提供了许多实用程序,如Visio(一个面向对象的设计工具)。VS.NET的所有版本都打包在.NET SDK中。
0.1公共语言运行时
公共语言运行时是.NET Framework的真正核心。CLR管理代码在运行时的执行。C#编译器(和其他以CLR为目标的语言编译器)不是把程序编译为本机代码,而是编译为一种称为中间语言(比)的低级语言。在运行时,IL代码使用一个JIT编译器把中间语言编译为本机代码。JIT编译器允许根据使用的操作系统和硬件进行代码优化,因此在很大程度上抵消了编译的性能成本(和以前直接编译为本机代码相比)。
虚拟执行系统
CLR中负责管理.NET代码运行时执行的部分称为虚拟执行系统(VES)。托管代码的一个主要的好处是垃圾收集。在以前的编程语言中,是由开发人员负责释放程序使用的所有资源,如果资源使用完后没有被释放,会造成许多细微的难以觉察的bug。因为系统没有办法收回这些资源占用的内存,应用程序的性能就会逐渐降低。现在,开发人员只需负责释放非托管的资源并尽快释放昂贵的资源,.NET垃圾收集器会负责销毁无法再从任何线程访问的托管对象,并释放它们占用的内存。
通用类型系统
我们前面提过,在应用程序的安装前,所有的.邢T代码都要编译为一种称为中间语言的低级语言。正因为这个原因,所有语言之间的高度互操作性才成为可能——.邢T规范了方法调用的方式,并为所有的语言提供了相同的类型系统。诚然,COM也做过许多类似的工作,但.NET却更进一步——我们甚至可以在一种.NET语言中继承用另一种.NET语言编写的基类。.NET的这个功能是由通过类型系统(CTS)提供的。CTS定义所有语言中的基本数据类型,和复杂数据类型的格式与行为。虽然不是每种编译器都支持CTS的每一种功能,但每种编译器必须都支持CTS的一个子集,叫做公共语言规范(CLS)。这意味着,保证有一组公用的类型能够被每一种.NET语言识别,所以只要使用了这些类型,用一种语言编写的代码就可以从任何其他一种.NET语言中访问。在第2章我们将详细了解CTS和C#类型系统。
0.1.1 程序集
.NET代码被部署为一种称为程序集(assembly)的逻辑单元。程序集可以是一个类库(DLL),一个控制台或Windows应用程序,一个Windows服务,甚至是一个ASP.NET页(ASP.NET是ASP的.NET版本,但它和.NET中的其他语言一样,不止是原有语言的简单更新)。程序集可以包括一个或多个物理文件,如果是完全存储在内存中的动态程序集,甚至可以不包含任何文件。
除了实际的代码,程序集还包含元数据——即关于程序集的数据。每个程序集包含两种截然不同的元数据——程序集元数据和类型元数据。程序集元数据是关于程序集本身的数据(例如,程序集的版本和生成号码)。它也称为程序集的清单。类型元数据包含在程序集中定义的类型和它们的公共成员的信息。
因为所有这些元数据都包含在程序集中,所以程序集不需要特殊的安装过程——只把文件拷贝到目标机器上就可以了。不存在一个中央注册表,用来存放关于.NET所有组成部分的信息。因为程序集不需要注册和分配一个惟一的ProgID,在一台机器上可以安装一个组件的多个版本(并行版本化)。这确保了不会再有“DLL Hell”的问题,即一个应用程序会覆盖共享组件的现有版本,并中断最初安装该版本组件的应用程序的运行。每个应用程序都可以安装自己的组件版本,而不会影响现有的版本。
默认情况下,程序集是私有的,只能从在同一目录中运行的代码中访问。但是,把程序集存储在全局程序集缓存(GAC)中,也可以共享这些程序集。这样的程序集能够从其他应用程序代码中访问,即使代码不知道程序集文件的确切存放位置。共享程序集必须使用一个证书进行签名,以保证它们不会被其他程序破坏。
0.1.2 COM互操作性
.NET的所有这些功能都可以让开发工作更加轻松,但还有一个潜在的问题——因为.NET几乎在每个方面都是全新的,您无法很容易地把托管.NET代码和遗留的COM代码混合在一起。微软的解决办法是提供工具为.NET程序集生成CoM类型库,读取COM类型库并用它们生成.NET包装器。在通常情况下,这种机制可以在.NET和COM之间提供无缝的互操作性,但编组更复杂的数据类型时会出现一些很明显的问题。
0.1.3 Framework类库
.NET的最大优点之一是它提供的数量庞大的类库。这些类库继承了大部分的WindowsAPI函数的功能,还提供了许多更高级别的操作,如数据访问、XML串行化和字符串与集合的处理。不使用这些类库,就不可能编写任何有意义的C#程序,即使是简单的控制台Io程序也要依赖于.NET类2本书的后半部分将讨论其中最重要的一些类库,但这里将简单提及几个较大的类库,要完全讲述这些类库,本书非写成几千页不可。类(和所有的.NET类型一样)被组织成分层的命名空间,这和Java程序包非常类似。
Windows窗体
最重要的类库之一是System.Windows.Forms命名空间。该类库提供了创建基于窗体的Windows应用程序的功能,创建的应用程序类似于VisualBasic窗体或MFC应用程序。由于每个操作都是通过.NET类进行的,因此不需要直接处理Windows消息,所以在C#中创建Windows应用程序比在MFC中创建容易了许多!
.NETFramework有各种版本。要运行.NET应用程序,宿主计算机必须安装.NET。对于客户端,如Windows应用程序,需要安装Framework的一个可再发布的精简版本,以保证客户端能够运行该程序。这个版本的.NET可以安装在Windows 9x/ME机器上,并能利用任何文本编辑器编写和编译C#程序,而严肃的开发工作要求安装完全版本的.NET软件开发工具包(SDK)。它可以从微软的MSDN网站免费下载,除.NET外,还包括许多工具和文档。这个版本的.NET可以在WindowsNT4、2000或XP上运行。
最后,严肃的开发工作还要求有一个具备调试代码、智能感知和自动完成等功能的集成开发环境(IDE)。C#开发的标准IDE是Visual Studio.NET(VS.NET),它是为编写.NET应用程序专门设计的,能为Windows应用程序和Windows服务这样的工程生成许多标准的基础代码。VS.NET本身有各种版本,从Visual C# .NET Studard Edition(它只支持C#)到Visual Studio.NET Enterprise Architect,它允许用C#、Visual Basic.NET和C++开发应用程序。VS.NET还提供了许多实用程序,如Visio(一个面向对象的设计工具)。VS.NET的所有版本都打包在.NET SDK中。
0.1公共语言运行时
公共语言运行时是.NET Framework的真正核心。CLR管理代码在运行时的执行。C#编译器(和其他以CLR为目标的语言编译器)不是把程序编译为本机代码,而是编译为一种称为中间语言(比)的低级语言。在运行时,IL代码使用一个JIT编译器把中间语言编译为本机代码。JIT编译器允许根据使用的操作系统和硬件进行代码优化,因此在很大程度上抵消了编译的性能成本(和以前直接编译为本机代码相比)。
虚拟执行系统
CLR中负责管理.NET代码运行时执行的部分称为虚拟执行系统(VES)。托管代码的一个主要的好处是垃圾收集。在以前的编程语言中,是由开发人员负责释放程序使用的所有资源,如果资源使用完后没有被释放,会造成许多细微的难以觉察的bug。因为系统没有办法收回这些资源占用的内存,应用程序的性能就会逐渐降低。现在,开发人员只需负责释放非托管的资源并尽快释放昂贵的资源,.NET垃圾收集器会负责销毁无法再从任何线程访问的托管对象,并释放它们占用的内存。
通用类型系统
我们前面提过,在应用程序的安装前,所有的.邢T代码都要编译为一种称为中间语言的低级语言。正因为这个原因,所有语言之间的高度互操作性才成为可能——.邢T规范了方法调用的方式,并为所有的语言提供了相同的类型系统。诚然,COM也做过许多类似的工作,但.NET却更进一步——我们甚至可以在一种.NET语言中继承用另一种.NET语言编写的基类。.NET的这个功能是由通过类型系统(CTS)提供的。CTS定义所有语言中的基本数据类型,和复杂数据类型的格式与行为。虽然不是每种编译器都支持CTS的每一种功能,但每种编译器必须都支持CTS的一个子集,叫做公共语言规范(CLS)。这意味着,保证有一组公用的类型能够被每一种.NET语言识别,所以只要使用了这些类型,用一种语言编写的代码就可以从任何其他一种.NET语言中访问。在第2章我们将详细了解CTS和C#类型系统。
0.1.1 程序集
.NET代码被部署为一种称为程序集(assembly)的逻辑单元。程序集可以是一个类库(DLL),一个控制台或Windows应用程序,一个Windows服务,甚至是一个ASP.NET页(ASP.NET是ASP的.NET版本,但它和.NET中的其他语言一样,不止是原有语言的简单更新)。程序集可以包括一个或多个物理文件,如果是完全存储在内存中的动态程序集,甚至可以不包含任何文件。
除了实际的代码,程序集还包含元数据——即关于程序集的数据。每个程序集包含两种截然不同的元数据——程序集元数据和类型元数据。程序集元数据是关于程序集本身的数据(例如,程序集的版本和生成号码)。它也称为程序集的清单。类型元数据包含在程序集中定义的类型和它们的公共成员的信息。
因为所有这些元数据都包含在程序集中,所以程序集不需要特殊的安装过程——只把文件拷贝到目标机器上就可以了。不存在一个中央注册表,用来存放关于.NET所有组成部分的信息。因为程序集不需要注册和分配一个惟一的ProgID,在一台机器上可以安装一个组件的多个版本(并行版本化)。这确保了不会再有“DLL Hell”的问题,即一个应用程序会覆盖共享组件的现有版本,并中断最初安装该版本组件的应用程序的运行。每个应用程序都可以安装自己的组件版本,而不会影响现有的版本。
默认情况下,程序集是私有的,只能从在同一目录中运行的代码中访问。但是,把程序集存储在全局程序集缓存(GAC)中,也可以共享这些程序集。这样的程序集能够从其他应用程序代码中访问,即使代码不知道程序集文件的确切存放位置。共享程序集必须使用一个证书进行签名,以保证它们不会被其他程序破坏。
0.1.2 COM互操作性
.NET的所有这些功能都可以让开发工作更加轻松,但还有一个潜在的问题——因为.NET几乎在每个方面都是全新的,您无法很容易地把托管.NET代码和遗留的COM代码混合在一起。微软的解决办法是提供工具为.NET程序集生成CoM类型库,读取COM类型库并用它们生成.NET包装器。在通常情况下,这种机制可以在.NET和COM之间提供无缝的互操作性,但编组更复杂的数据类型时会出现一些很明显的问题。
0.1.3 Framework类库
.NET的最大优点之一是它提供的数量庞大的类库。这些类库继承了大部分的WindowsAPI函数的功能,还提供了许多更高级别的操作,如数据访问、XML串行化和字符串与集合的处理。不使用这些类库,就不可能编写任何有意义的C#程序,即使是简单的控制台Io程序也要依赖于.NET类2本书的后半部分将讨论其中最重要的一些类库,但这里将简单提及几个较大的类库,要完全讲述这些类库,本书非写成几千页不可。类(和所有的.NET类型一样)被组织成分层的命名空间,这和Java程序包非常类似。
Windows窗体
最重要的类库之一是System.Windows.Forms命名空间。该类库提供了创建基于窗体的Windows应用程序的功能,创建的应用程序类似于VisualBasic窗体或MFC应用程序。由于每个操作都是通过.NET类进行的,因此不需要直接处理Windows消息,所以在C#中创建Windows应用程序比在MFC中创建容易了许多!
评论交流
共有14人开贴评论 23人参与评论 10人参与打分 查看
评价等级:



发表于:2006-11-28 14:01:00
可以看看《Visual C#.NET数据库开发经典案例解析》这本书,很不错
http://www.china-pub.com/computers/common/info.asp?id=24652
有电子试读,大家最好先对比一下
经典的开发案例,精彩的需求分析
本书特色:
重点突出:紧贴行业特点,需求分析详尽,着重讲解数据库设计。
通用性强:模块清晰,代码规范,具有很好的可移植性。
结构清晰:关键步骤的讲解详细,学习目标明确。
实用性强:本丛书附书光盘附有完整源代码,可供读者积累工作经验,也可供计算机相关专业教师指导学生毕业设计之用。
本书以进销存管理系统、人力资源管理系统、生产管理系统、财务管理系统、酒店管理系统、图书馆管理系统、医院管理系统、教务管理系统等多个当今最为热门的管理信息系统为例子,详细地介绍了这些系统的需求分析及管理信息系统开发的过程和方法。对项目背景、业务需求分析、功能需求分析、数据库需求分析、数据库建模、系统开发、系统编译及系统发行等过程进行了详细的讲解。 本书实例的实用性非常强,读者从中可以迅速了解相应实例的行业特点和用户需求,成为行业专家;同时还可以全面掌握开发管理信息系统的过程和方法。同时从书提供了所有系统完整的数据库建库脚本,读者在实际的工作中可以直接使用并在此基础上进行补充,从而可以大大减少系统数据库设计的工作量和时间。
进销存管理系统
人力资源管理系统
生产管理系统
财务管理系统
酒店管理系统
图书馆管理系统
医药管理系统
教务管理系统
......
http://www.china-pub.com/computers/common/info.asp?id=24652
有电子试读,大家最好先对比一下
经典的开发案例,精彩的需求分析
本书特色:
重点突出:紧贴行业特点,需求分析详尽,着重讲解数据库设计。
通用性强:模块清晰,代码规范,具有很好的可移植性。
结构清晰:关键步骤的讲解详细,学习目标明确。
实用性强:本丛书附书光盘附有完整源代码,可供读者积累工作经验,也可供计算机相关专业教师指导学生毕业设计之用。
本书以进销存管理系统、人力资源管理系统、生产管理系统、财务管理系统、酒店管理系统、图书馆管理系统、医院管理系统、教务管理系统等多个当今最为热门的管理信息系统为例子,详细地介绍了这些系统的需求分析及管理信息系统开发的过程和方法。对项目背景、业务需求分析、功能需求分析、数据库需求分析、数据库建模、系统开发、系统编译及系统发行等过程进行了详细的讲解。 本书实例的实用性非常强,读者从中可以迅速了解相应实例的行业特点和用户需求,成为行业专家;同时还可以全面掌握开发管理信息系统的过程和方法。同时从书提供了所有系统完整的数据库建库脚本,读者在实际的工作中可以直接使用并在此基础上进行补充,从而可以大大减少系统数据库设计的工作量和时间。
进销存管理系统
人力资源管理系统
生产管理系统
财务管理系统
酒店管理系统
图书馆管理系统
医药管理系统
教务管理系统
......
| 我要写评论 |
| 查看所有评论交流(共14条) |








点击看大图





加载中...

