Visual C#是一种类型安全且面向对象的现代编程语言,它从C和C++演变而来,为生成运行在.NET框架上的、广泛的企业级应用程序而设计。\r\n 本书共分三部分,从C#的基本概念开始,详细讨论了基本知识点,具体技术和实际应用案例。书中大量的实例将有助于读者准确掌握C#语言,提高在实际企业环境中的应用和开发能力。\r\n 本书适合各个层次的读者。
第一部分 C#编程基础\r\n\r\n第1章 C#入门\r\n\r\n开发第一个C#程序\r\nVisual Studio.NET介绍\r\n使用.NET文档\r\n小结\r\n\r\n第2章 基本C#编程\r\n\r\n使用语句、空格和块\r\n使用数据类型、变量和常量\r\n字符串简介\r\n理解枚举类型\r\n处理输入和输出\r\n小结\r\n\r\n第3章 表达式与运算符\r\n\r\n理解表达式和运算符\r\n运算符的优先级\r\n小结\r\n\r\n第4章 判断、循环和预处理指令\r\n\r\n使用if语句\r\n实现switch语句\r\n使用循环语句\r\n理解跳转语句\r\n创建预处理指令\r\n小结\r\n\r\n第5章 面向对象的编程\r\n\r\n类和对象介绍\r\n类的声明\r\n创建对象\r\n使用方法\r\n使用存取权限符\r\n创建和抛弃对象\r\n结构介绍\r\n小结\r\n\r\n第6章 类和对象\r\n\r\n静态成员介绍\r\n使用只读域\r\n属性定义\r\n“Has a”关系介绍\r\n学习命名空间\r\n小结\r\n\r\n第7章 派生类\r\n\r\n继承\r\n学习多态性\r\n指定成员的访问权限\r\n隐藏成员\r\n版本\r\n使用System.Object类\r\n使用抽象类和方法\r\n声明密封类和方法\r\n强制转换对象\r\n运算符重载\r\n小结\r\n\r\n第8章 接口\r\n\r\n定义接口\r\n用类来实现接口\r\n强制转换对象到接口\r\n使用源接口\r\n理解显式接口成员\r\n小结\r\n\r\n第9章 字符串、日期、时间和时间段\r\n\r\n使用字符串\r\n创建动态字符串\r\n日期和时间的描述\r\n使用时间段\r\n小结\r\n\r\n第10章 数组和索引器\r\n\r\n声明和创建数组\r\n使用数组\r\n初始化数组\r\n读取命令行参数\r\n数组属性和方法\r\n使用多维数组\r\n创建对象数组\r\n索引器介绍\r\n小结\r\n\r\n第11章 集合\r\n\r\n数组列介绍\r\n理解位数组\r\n理解哈希表\r\n理解排序列表\r\n理解队列\r\n理解堆栈\r\n小结\r\n\r\n第12章 委派和事件\r\n\r\n理解委派\r\n理解事件\r\n小结\r\n\r\n第13章 异常与调试\r\n\r\n处理异常\r\n理解异常对象\r\n处理特定的异常\r\n研究异常传播\r\n创建和抛出异常对象\r\n声明自定义异常\r\n调试\r\n小结\r\n\r\n第二部分 高级C#编程\r\n\r\n第14章 线程\r\n\r\n理解.NET框架类库\r\n理解线程\r\n\r\n\r\n管理线程\r\n处理线程问题\r\n共享线程\r\n小结\r\n\r\n第15章 流和输入/输出\r\n\r\n处理文件与目录\r\n研究流与后备存储器\r\n使用Reader与Writer\r\n使用异步I/O\r\n介绍序列化\r\n小结\r\n\r\n第16章 程序集\r\n\r\n程序集概述\r\n程序集中有些什么\r\n构建程序集\r\n查看程序集内容\r\n理解强名称与签名\r\n程序集版本控制\r\n使用全局程序集缓存\r\n查找程序集\r\n小结\r\n\r\n第17章 特性与反射\r\n\r\n使用特性\r\n在运行时发现类型\r\n在运行时创建类型\r\n小结\r\n\r\n第18章 远程处理\r\n\r\n理解应用程序域\r\n理解用代理封送\r\n理解上下文\r\n理解信道\r\n使用远程处理\r\n小结\r\n\r\n第19章 安全\r\n\r\n使用代码访问安全性\r\n使用基于角色的安全性\r\n使用加密\r\n小结\r\n\r\n第20章 XML\r\n\r\n理解XML\r\nXSLT介绍\r\n读写XML\r\n使用DOM\r\n转换XML\r\n小结\r\n\r\n第21章 基类库中的其他类\r\n\r\n理解图形类\r\n支持全球化\r\n分析与调试\r\n使用高级工具\r\n小结\r\n\r\n第三部分 C#.NET程序设计\r\n\r\n第22章 数据库介绍\r\n\r\n介绍数据库\r\n探索Northwind数据库\r\n使用结构化查询语言\r\n介绍存储过程\r\n使用Visual Studio.NET访问数据库\r\n小结\r\n\r\n第23章 活动数据对象: ADO.NET\r\n\r\nADO.NET概述\r\nADO.NET类概述\r\n利用ADO.NET执行SQL SELECT语句\r\n连接到Microsoft Access数据库\r\n连接到Oracle数据库\r\n研究ADO.NET类的详细内容\r\n利用ADO.NET执行SQL INSERT、UPDATE和DELETE语句\r\n修改DataTable对象和与数据库同步更改\r\n在ADO.NET中使用事务\r\n利用DataView对象筛选和排序行\r\n定义和使用两个DataTable对象之间的关系\r\n利用ADO.NET运行SQL Server存储过程\r\n利用ADO.NET读写XML文件\r\n小结\r\n\r\n第24章 Windows应用介绍\r\n\r\n开发简单的Windows应用程序\r\n使用Windows控件\r\n使用DataGrid控件访问数据库\r\n使用数据窗体向导创建Windows窗体\r\n小结\r\n\r\n第25章 活动服务页:ASP.NET\r\n\r\n创建简单的ASP.NET Web应用程序\r\n使用Web窗体控件\r\n生成较为复杂的应用程序\r\n利用DataGrid控件访问数据库\r\n利用DataList控件访问数据库\r\n小结\r\n\r\n第26章 Web服务\r\n\r\n探索Web服务结构\r\n生成简单的Web服务\r\n监视会话\r\n探究Web服务代理\r\n生成较为复杂的Web服务\r\n生成客户端的简单方法\r\n探索Web服务注册\r\n小结\r\n\r\n附录A C#关键字\r\n附录B C#编译选项\r\n附录C 正则表达式
欢迎阅读《Visual C#.NET从入门到精通》。大家已经知道,.NET已经准备好了成为下一代技术开发的热点平台。.NET的能量在于它是构建在分布式环境的基础上的,也就是用在通过网络组成的计算机和设备的环境上的。
在这个技术社会,微软保证它们提供的资源使得.NET在生活中成为一个被关注的对象,忽视.NET,就会使自己有危险。在今天甚至明天使自己在市场中有竞争力的底线就是必须学习.NET。
简单地说,NET是一个用来编写各种类型应用的全新框架。可以用.NET编写的应用类型包括Windows应用和基于Web的应用。可以用.NET开发组成系统的相互关联的服务,而这些服务又可以通过互联网相互通信。
此外,还可以用.NET来开发运行在诸如手持计算机和移动电话等设备上的应用。尽管其他的语言也可以开发此类的应用,但.NET从根本上就是为用在互联网络上的。
.NET框架由下面的主要部分组成:
开发语言和工具可以用来编写.NET程序的开发语言包括C#、Visual Basic.NET(VB.NET)以及Managed C++。微软提供了一个叫Visual Studio,NET(VS.NET)的快速应用开发(RAD)工具用来开发应用,这个工具是一个集成开发环境(IDE)。我们将在本书学习如何使用C#和VS.NET。
普通语言运行时普通语言运行时(CLR)控制运行的代码和提供诸如内存管理、线程管理(允许并行处理多个任务)、远程控制(一个应用中的对象与另一个应用中的对象进行通信)等服务。CLR确保了运行代码的严格安全与精确,保证不会发生篡改。
框架基类库框架基类库是微软编写的可以在自己的应用中使用的扩展代码集。比如,框架基类库包含的代码可以用来开发Windows应用、存取磁盘中的路径与文件、连接数据库并获取信息、通过网络发送和接收数据。在本书中将使用框架基类库中最重要的类。
C#是可以用来编写.NET应用的语言中的一种。C#是从其他的语言比如Java、C和C++继承而来的,当然,这些语言也是从早期的语言发展而来的。如果已经用Java或C++编过程序,就会发现C#很容易学。C#并不是编写.NET程序的惟一语言,但是,依照我们的观点,C#将成为.NET开发所选择的主要语言。
大家可能想知道是否需要同时学习C#和Java,我们的答复是两者都应该学习。因为尽管.NET很热,但并不意味着它很快就会替代Java。两种语言将会同时存在,相互发展,一直到某种更好的东西出现。
本书的对象
本书是C#程序员的启蒙读物。本书包含有掌握C#需要学习的每一个内容。不需要任何的编程经验,但如果掌握了Java、 C++和Visual Basic等编程语言中的一种,将会更容易开始。如果已经了解了C#,也会发现本书比其他大部分书讨论的高级C#和.NET论题更深入一些。
如果是一个初学者,会发现本书的第一部分很容易学习,而且很快就会熟悉C#中的基本编程概念。如果是一个中级到高级的程序员,可以很快越过第一部分的前面五章。一旦掌握了第一部分介绍的C#语言,就会发现本书的第二部分和第三部分提供了理解C#和.NET深入知识的理想内容。
如何使用本书
本书被分为下面的三部分。
第一部分:C#编程基础
在本书的第一部分“C#编程基础”,将学习编写简单的C#程序需要了解的全部知识。
第一部分包含13章。
在第1章“C#入门”中,将介绍C#语言,还将学习微软的RAD工具——Visual Studio.NET。Visual Studio.NET是一个用来开发程序的集成开发环境(IDE)。最后,将学习如何使用微软随.NET提供的广泛的文档。
第2章“基本C#编程”,学习如何编写一个简单的程序、如何在内存中存储信息,以及如何处理键盘输入和格式化屏幕输出。
第3章“表达式与运算符”,将学习如何使用表达式与运算符。表达式就是通过运算符进行某种运算并返回一个值的典型的语句。
第4章“判断、循环和预处理指令”,将学习如何通过判断来执行不同的代码分支以及通过循环来重复执行语句。还将学习预处理器,也就是在编译之前读入程序源文件的程序。可以给预处理器一些指示,即指令,通过指令来影响程序实际编译的部分。
第5章“面向对象的编程”和第6章“类和对象”,将学习如何使用类和结构来定义自己的类型,以及如何在自己的程序中使用这些类型。还将学习如何用类和对象来模型化现实世界中存在的事物,以及它们如何简化解决复杂问题时编写程序的任务。
第7章“派生类”,将学习如何从一个类派生另一个类。还将学习如何重载运算符,以及用重载后的运算符而不是使用C#提供的默认运算符来进行自己的代码运算。
第8章“接口”,将学习关于接口的知识。接口包含一列诸如方法和属性的定义。可以用自己的类来实现一个给定的接口;这个类必须实现这个接口定义的声明。如果用自己的类实现一个接口,就必须保证这个类包含这个接口定义的全部项的代码。
第9章“字符串、日期、时间和时间段”,将学习如何使用字符串以及如何在自己的程序中操作字符串。还将学习如何在程序中表示日期和时间。
第10章“数组和索引器”,将学习数组,数组就是可以保存同样数据类型的连续的存储部件。可以用数组存储多个变量或对象。
第11章“集合”,将学习集合。集合就是可以存储许多元素并且在创建后容量还可以改变的对象。这些对象提供了灵活存取它们的元素的方法。在掌握C#的过程中,会发现集合在操作复杂数据运算的时候非常有用。
第12章“委派和事件”,将学习委派和事件。委派就像一个函数的指针,可以在运行时通过它们来调用不同的函数。委派与事件是紧密相连的——事件实际就是一种特殊的委派。可以在某件事产生时使用事件通知一个特定的对象。
第13章“异常与调试”,将学习异常与调试。当在程序执行过程中,产生了错误或异常条件时,就会产生异常。用0除一个数就是一个程序错误,即臭虫(bug)的例子。内存溢出就是一个程序异常的例子。
第二部分:高级C#编程
在本书的第二部分“高级C#编程”,将学习C#编程更深入的内容。第二部分包含8章。
第14章“线程”,将学习如何使用线程。线程可以容许并行执行多个任务。还将学到在程序中使用线程时需要考虑的一些问题。特别地,需要考虑线程的同步以及处理两个线程在争夺资源时产生的死锁问题。
第15章“流和输入/输出”,将学习使用输入/输出流。在本章将学习诸如打开一个文件和检查一个路径的内容等基本的文件和路径操作。还将学习如何用各种各样的方式读和写数据,其中包括使用网络作为数据传输的方式。
第16章“程序集”,将学习.NET如何把代码组织成叫程序集的单元。.NET使用程序集来进行版本跟踪、安全、部署、类型一致及其他的一些事情。
第17章“特性与反射”,将学习描述程序集内容的元数据。元数据由描述类型、成员、模块和程序集的属性组成。还将学习由默认的和自定义的特性提供的本质特性;同时还要学习如何创建自定义特性来扩展存储在程序集中的元数据。
第18章“远程处理”,将学习远程操作,它允许一个应用中的对象与另一个应用中的对象进行通信。远程操作可以用来开发可相互操作的分布式软件部件。
第19章“安全”,将学习.NET的安全系统。可以使用代码存取安全来准确指明一个应用可以进行的运算。代码存取安全可以允许选择单个的权限给基于代码组中代码的成员资格而得的代码。代码组可以基于代码的发布、代码的身份、代码获取的位置以及其他的因素。.NET还包含了一个基于角色的安全系统,它用来决定一个特定用户是否可以存取一种资源。
第20章“XML”,将学习如何在.NET中使用可扩展置标语言(XML)。NET使用XML来完成各种任务,从存储配置文件到序列化传输给远程应用的对象。可以读和写XML文件,分析它们的结构,把XML文件转换成新的格式,或者是与其他数据协同工作。
第21章“基类库中的其他类”,将学习包含在框架基类库中的其他.NET类。将学习画元素的图形类,学习可以让软件在其他地方和语言中使用的全球化类,可以在设计和运行时看到调试信息的调试和跟踪类,以及支持.NET运行特征的高级类。
第三部分:C#NET程序设计
本书的第二部分“ C#.NET程序设计”,将学习数据库,学习如何用 C#程序存取一个数据库,以及如何编写Windows和Web应用。第三部分包含5章。
第22章“数据库介绍”,将学习数据库的基本知识以及使用结构化查询语言(SQL)来存取数据库。本章演示了如何存取一个叫Northwind的SQL Server数据库。这个数据库包含一个假设的销售食品的Northwind公司的信息。
第23章“活动数据对象:ADO.NET”,将学习在C#程序中使用ADO.NET来存取数据库。ADO.NET是提供给.NET框架的活动数据对象。将学习如何连接一个数据库以及分发一个SQL语句来存取和修改存储在数据库中的信息。
第24章“Windows应用介绍”,将学习Windows编程。Windows程序利用了图形环境来显示,并使用了鼠标以及键盘输入。Windows提供了一些图形项,比如菜单、文本框、单选钮,以及可以用来构建可视接回以方便使用的文本框。
第25章“活动服务页:ASP.NET”,将学习提供给.NET的活动服务页(ASP.NET)ASP.NET用来创建内容可以在运行时改变的Web页面,还可以用来开发用Web浏览器存取的应用。比如,可以开发让用户通过Web来订购产品的应用,或者是创建一个股票交易应用,通过它让用户进行公司的股份交易。
第26章“Web服务”,将学习如何构建一个简单的Web服务。Web服务就是一个通过因特网(或者是私有的内部网)来发送信息的软件部件,通过它来完成特定的需求。比如,可 以创建一个Web服务来返回公司股票的当前价格。
附录
本书的三个附录提供了一些资料。
附录A“C#关键字”,总结了在C#语言中使用的关键字。
附录B“C#编译选项”,列举了C#编译器中使用的选项,编译器用来编译自己的程序。
附录C“正则表达式”,总结了C#的正则表达式,它可以用来查找特定的字符集或字符模式。
下载例程
在本书中,提供了许多用来演示文中概念的例程。它们用数字和标题来标记,就像如下所示:
程序清单1.1“Hello World”程序
可以从Sybex的网站www.sybex.com来下载包含这些程序的ZIP文件。可以使用WinZip来解包ZIP文件中的内容。文件名与列举的数字相对应。