本书由全球知名教育专家H.M.Deitell领头编写。书中采用Deitel独创的“活代码”教学方式,深入讲解和探索了Microsoft的C#语言,展示了重要的C#概念。全书包含230个活代码程序,共26000行代码,这些示命名程序已经通过完整测试,并配备清楚的语法标识、详细的逐行解释和输出结果。值得一提的是书中包含的编程技巧(共402条),这些技巧可帮助读者养成良好的编程习惯,构建出更易于移植、易于重用并具有优良性能的应用程序。\r\n 本书适合具备C++、Visula Basic和Java等高级语言背景的程序员阅读。
第1章 .NET和C#概述\r\n\r\n1.1 概述\r\n1.2 因特网和万维网发展简史\r\n1.3 万维网协会(W3C)\r\n1.4 可扩展标记语言(XML)\r\n1.5 重要的软件趋势:对象技术\r\n1.6 Microsoft的.NET概述\r\n1.7 C#语言\r\n1.8 .NET框架和公共语言运行库\r\n1.9 本书导读\r\n1.10 小结\r\n1.11 因特网和万维网资源\r\n\r\n第2章 Visual Studio.NET IDE和C#编程概述\r\n\r\n2.1 概述\r\n2.2 Visual Studio .NET集成开发环境(IDE)\r\n2.3 菜单栏和工具栏\r\n2.4 Visual Studio .NET窗口\r\n2.5 使用帮助\r\n2.6 简单程序(一):显示文本和图像\r\n2.7 简单程序(二):打印一行文本\r\n2.8 算术运算\r\n2.9 做出决定:相等和关系运算符\r\n2.10 小结\r\n\r\n第3章 控制结构\r\n\r\n3.1 概述\r\n3.2 控制结构\r\n3.3 if选择结构\r\n3.4 if/else选择结构\r\n3.5 while重复结构\r\n3.6 赋值运算符\r\n3.7 自增和自减运算符\r\n3.8 for重复结构\r\n3.9 示例:用for结构计算复利\r\n3.10 switch多选结构\r\n3.11 do/while重复结构\r\n3.12 break语句和continue语句\r\n3.13 逻辑和条件运算符\r\n3.14 Windows应用程序编程概述\r\n3.15 小结\r\n\r\n第4章 方法和数组\r\n\r\n4.1 概述\r\n4.2 C#中的方法\r\n4.3 方法定义\r\n4.4 参数提升\r\n4.5 C#命名空间\r\n4.6 值类型和引用类型\r\n4.7 传递参数:传值和传引用\r\n4.8 作用域规则\r\n4.9 递归\r\n4.10 方法重载\r\n4.11 数组\r\n4.12 声明和分配数组\r\n4.13 向方法传递数组\r\n4.14 通过传值和传引用来传递数组\r\n4.15 多下标数组\r\n4.16 foreach重复结构\r\n4.17 小结\r\n\r\n第5章 基于对象的编程\r\n\r\n5.1 概述\r\n5.2 用类实现Time抽象数据类型\r\n5.3 类的作用域\r\n5.4 控制对成员的访问\r\n5.5 初始化类的对象:构造函数\r\n5.6 使用重载构造函数\r\n5.7 属性\r\n5.8 合成:对象引用用作其他类的实例变量\r\n5.9 使用this引用\r\n5.10 垃圾回收\r\n5.11 静态类成员\r\n5.12 常量和只读成员\r\n5.13 索引器\r\n5.14 数据抽象和信息隐藏\r\n5.15 软件重用\r\n5.16 命名空间和程序集\r\n5.17 类视图和对象规览器\r\n5.18 小结\r\n\r\n第6章 面向对象的编程\r\n\r\n6.1 概述\r\n6.2 基类和派生类\r\n6.3 受保护成员和内部成员\r\n6.4 基类和派生类的关系\r\n6.5 案例分析:三级继承层次结构\r\n6.6 派生类中的构造函数和折构函数\r\n6.7 与继承相关的软件工程\r\n6.8 小结\r\n\r\n第7章 面向对象编程:多态性\r\n\r\n7.1 概述\r\n7.2 派生类对象转换为基类对象\r\n7.3 类型字段和switch语句\r\n7.4 多态性示例\r\n7.5 抽象类和方法\r\n7.6 示例(一):接口和实现的继承\r\n7.7 密封的类和方法\r\n7.8 示例(二):使用多态性的工资发放系统\r\n7.9 示例(三):创建和使用接口\r\n7.10 委托\r\n7.11 运算符重载\r\n7.12 小结\r\n\r\n第8章 异常处理\r\n\r\n8.1 概述\r\n8.2 异常处理概述\r\n8.3 示例:DivideByZeroException\r\n8.4 .NET的异常层次结构\r\n8.5 finally块\r\n8.6 Exception属性\r\n8.7 程序员自定义的异常类\r\n8.8 用checked和unchecked运算符处理溢出\r\n8.9 小结\r\n\r\n第9章 图形用户界面概念(一)\r\n\r\n9.1 概述\r\n9.2 Windows窗体\r\n9.3 事件处理模型\r\n9.4 控件属性和布局\r\n9.5 标签、文本框和按钮\r\n9.6 分组框和面板\r\n9.7 复选框和单选或\r\n9.8 图片框\r\n9.9 鼠标事件处理\r\n9.10 键盘事件处理\r\n9.11 小结\r\n\r\n第10章 图形用户界面概念(二)\r\n\r\n10.1 概述\r\n10.2 菜单\r\n10.3 LinkLabel\r\n10.4 列表框和带复选框的列表框\r\n10.5 组合框\r\n10.6 TreeView\r\n10.7 ListView\r\n10.8 TabControl\r\n10.9 多文档界面(MDI)窗口\r\n10.10 可视化继承\r\n10.11 用户自定义控件\r\n10.12 小结\r\n\r\n第11章 多线程\r\n\r\n11.1 概述\r\n11.2 线程状态:线程的生命周期\r\n11.3 线程的优先级和线程调度\r\n11.4 线程同步和类监视器\r\n11.5 没有线程同步的生产者/消费者关系\r\n11.6 有线程同步的生产者/消费者关系\r\n11.7 生产者悄费者关系:循环缓冲区\r\n11.8 小结\r\n\r\n第12章 字符串、字符和正则表达式\r\n\r\n12.1 概述\r\n12.2 字符和字符串基础\r\n12.3 String类的构造函数\r\n12.4 String类的索引器、Length属性和CopyTo方法\r\n12.5 字符串的比较\r\n12.6 String类的GetHashCode方法\r\n12.7 在字符串中定位字符和子串\r\n12.8 从字符串中提取子串\r\n12.9 字符串的连接\r\n12.10 String类的其他方法\r\n12.11 StringBuilder类\r\n12.12 StrinaBuilder索引器属性Length与Capacity以及方法EnsureCapacity\r\n12.13 StringBuilder类的方法Append和AppendFormat\r\n12.14 StringBuilder类的方法Insert Remove和Replace\r\n12.15 Char方法\r\n12.16 模拟扑克洗牌和发牌程序\r\n12.17 正则表达式和Regex类\r\n12.18 小结\r\n\r\n第13章 图形和多媒体\r\n\r\n13.1 概述\r\n13.2 图形上下文和图形对象\r\n13.3 颜色处理\r\n13.4 字体处理\r\n13.5 绘制线段、矩形和椭圆\r\n13.6 绘制弧线\r\n13.7 绘制多边形和折线\r\n13.8 高级图形功能\r\n13.9 多媒体简介\r\n13.10 载入、显示和缩放图像\r\n13.11 让一连串图像动起来\r\n13.12 Windows Media Player\r\n13.13 Microsoft Agent\r\n13.14 小结\r\n\r\n第14章 文件和流\r\n\r\n14.1 概述\r\n14.2 数据的层次结构\r\n14.3 文件和流\r\n14.4 File类和Directory类\r\n14.5 创建顺序访问文件\r\n14.6 从顺序访问文件中读取数据\r\n14.7 随机访问文件\r\n14.8 创建随机访问文件\r\n14.9 向随机访问文件随机写入数据\r\n14.10 从随机访问文件中顺序读取数据\r\n14.11 案例分析:交易处理程序\r\n14.12 小结\r\n\r\n第15章 XML概述\r\n\r\n15.1 概述\r\n15.2 XML文档\r\n15.3 XML命名空间\r\n15.4 文档对象模型\r\n15.5 文档类型定义、架构和验证\r\n15.6 XSL和XslTransform\r\n15.7 Microsoft的BizTalk\r\n15.8 小结 \r\n15.9 因特网和万维网资源\r\n\r\n第16章 数据库、SQL和ADO.NET\r\n\r\n16.1 概述\r\n16.2 关系数据库模型\r\n16.3 关系数据库概述:Books数据库\r\n16.4 结构化查询语言\r\n16.5 ADO.NET对象模型\r\n16.6 ADO.NET编程:从数据库中提取信\r\n16.7 ADO.NET编程:修改数据库\r\n16.8 读写XML文档\r\n16.9 小结\r\n\r\n第17章 ASP.NET,Web窗体和Web控件\r\n\r\n17.1 概述\r\n17.2 简单的HTTP事务\r\n17.3 系统结构\r\n17.4 创建和运行简单的Web窗体示例程序\r\n17.5 Web控件\r\n17.6 会话跟踪\r\n17.7 案例分析(一):网上留言簿\r\n17.8 案例分析(二):在ASP.NET中连接数据库\r\n17.9 跟踪调试\r\n17.10 小结\r\n17.11 因特网和万维网资源\r\n\r\n第18章 ASP.NET和Web服务\r\n\r\n18.1 概述\r\n18.2 Web服务\r\n18.3 简单对象访问协议(SOAP)和Web服务\r\n18.4 发布和使用Web服务\r\n18.5 Web服务的会话跟踪\r\n18.6 使用Web窗体和Web服务\r\n18.7 案例分析:一个Web服务(气温信息预报应用程序)\r\n18.8 Web服务中的用户定义类型\r\n18.9 小结\r\n\r\n第19章 联网:流套接字和数据文报\r\n\r\n19.1 概述\r\n19.2 使用流套接字创建简单的服务器程序\r\n19.3 使用流套接字创建简单的客户端程序\r\n19.4 用流套接字连接进行客户端/服务器交互\r\n19.5 用数据文报进行无连接的客户端/服务器通信\r\n19.6 使用多线程服务器的客户端/服务器Tic-Tac-Toe游戏\r\n19.7 小结\r\n\r\n第20章 数据结构和集合\r\n\r\n20.1 概述\r\n20.2 自引用类\r\n20.3 链表\r\n20.4 堆栈\r\n20.5 队列\r\n20.6 树\r\n20.7 集合类\r\n20.8 小结\r\n\r\n第21章 可访问性\r\n\r\n21.1 概述\r\n21.2 规章和资源\r\n21.3 Web可访问性促进会\r\n21.4 为图像提供备用内容\r\n21.5 突出结构以增强可读性\r\n21.6 Visual Studio .NET的可访问性\r\n21.7 C#的可访问性\r\n21.8 XHTML表格的可访问性\r\n21.9 XHTML框架的可访问性\r\n21.10 XML的可访问性\r\n21.11 使用VoiceXML的语音合成和识别\r\n21.12 CallXML\r\n21.13 JAWS for Windows\r\n21.14 其他可访问性工具\r\n21.15 Microsoft Windows 2000的可访问性\r\n21.16 小结\r\n21.17 因特网和万维网资源\r\n\r\n第22章 Mobile Internet Toolkit\r\n\r\n22.1 概述\r\n22.2 客户端设备\r\n22.3 Mobile Internet Toolkit和移动Web窗体\r\n22.4 高级移动Web窗体控件\r\n22.5 示例:Deitel无线门户Web站点\r\n22.6 利用样式表和模板设计与设备无关的Web站点\r\n22.7 通过移动应用程序享受Web服务\r\n22.8 小结\r\n22.9 因特网和万维网资源\r\n\r\n附录A 运算符优先顺序表\r\n\r\n附录B 数值系统\r\n\r\nB.1 概述\r\nB.2 将二进制数简写为八进制和十六进制数\r\nB.3 将八进制数和十六进制数转换为二进制数\r\nB.4 将二进制、八进制或十六进制转换为十进制\r\nB.5 将十进制转换为二进制、八进制或十六进制\r\nB.6 负的二进制数:2的补值记号法\r\nB.7 小结\r\n\r\n附录C Visual Studio .NET调试器\r\n\r\nC.1 概述\r\nC.2 断点\r\nC.3 检查数据\r\nC.4 程序控制\r\nC.5 其他方法调试功能\r\nC.6 其他类调试功能\r\nC.7 小结\r\n\r\n附录D 在Visual Studo.NET中生成文档\r\n\r\nD.1 概述\r\nD.2 文档注释\r\nD.3 编写C#源代码文档\r\nD.4 创建注释Web页\r\nD.5 创建XML文档文件\r\nD.6 小结\r\n\r\n附录E ASCII字符集\r\n\r\n附录F Unicode\r\n\r\nF.1 概述\r\nF.2 Uncode转换格式\r\nF.3 字符和字形\r\nF.4 Unicode的优点和缺点\r\nF.5 Unicode协会网站\r\nF.6 使用Unicode\r\nF.7 字符范围\r\nF.8 小结\r\n\r\n附录G COM集成\r\n\r\nG.1 概述\r\nG.2 ActiveX集成\r\nG.3 DLL集成\r\nG.4 小结\r\nG.5 因特网和万维网资源\r\n\r\n附录H HTML 4.0概述(一)\r\n\r\nH.1 概述\r\nH.2 标记语言\r\nH.3 编辑HTML\r\nH.4 常用元素\r\nH.5 标题\r\nH.6 添加链接\r\nH.7 图像\r\nH.8 特殊字符和更多的换行\r\nH.9 无序列表\r\nH.10 嵌套和顺序列表\r\nH.11 小结\r\nH.12 因特网和万维网资源\r\n\r\n附录I HTML 4.0概述(二)\r\n\r\nI.1 概述\r\nI.2 简单的HTML表格\r\nI.3 普通的HTML表格和格式化\r\nI.4 简单的HTML表单\r\nI.5 更复杂的HTML表单\r\nI.6 内部链接\r\nI.7 创建和使用图像地图\r\nI.8 <meta>标记\r\nI.9 frameset元素\r\nI.10 嵌套式帧集\r\nI.11 小结\r\nI.12 因特网和万维网资源\r\n\r\n附录J XHTML概述(一)\r\n\r\nJ.1 概述\r\nJ.2 编辑XHTML\r\nJ.3 第一个XHTML示例\r\nJ.4 W3C XHTML校验服务\r\nJ.5 标题\r\nJ.6 链接\r\nJ.7 图像\r\nJ.8 特殊字符和更多的换行\r\nJ.9 无序列表\r\nJ.10 嵌套和顺序列表\r\nJ.11 小结\r\nJ.12 因特网和万维网资源\r\n\r\n附录K XHTML概述(二)\r\n\r\nK.1 概述\r\nK.2 简单的XHTML表格\r\nK.3 较复杂的XHTML表格和格式化\r\nK.4 简单的XHTML表单\r\nK.5 较复杂的XHTML表单\r\nK.6 内部链接\r\nK.7 创建和使用图像地图\r\nK.8 meta元素\r\nK.9 frameset元素\r\nK.10 嵌套frameset\r\nK.11 小结\r\nK.12 因特网和万维网资源\r\n\r\n附录L HTML/XHTML特殊字符\r\n\r\n附录M HTML/XHTML颜色\r\n\r\n附录N 位处理\r\n\r\nN.1 概述\r\nN.2 位处理和按位运算符\r\nN.3 BitArray类\r\nN.4 小结\r\n\r\n附录O Crystal Reports for Visual Studio.NET\r\n\r\nO.1 概述\r\nO.2 Crystal Reports网上资源\r\nO.3 Crystal Reports和Visual Studio .NET
欢迎进入C#利用Visual Studio .NET和.NET平台实现Windows、因特网和万维网编程的世界!本书是新的《Deitel开发者系列》的第二本书,这个系列将为软件开发者和IT专家讲解领先于时代的计算技术。
C#(读作"C-sharp")是微软为其.NET平台开发的最新语言,它为程序员提供了一些非常重要的特性,比如面向对象编程、图形、图形用户界面(GUI)组件、异常处理、多线程、多媒体(声音、图形、动画和视频)、文件处理、预封装数据结构、数据库处理、基于因特网和万维网的多层应用程序开发、联网、Web服务和分布式计算等。这种语言尤其适用于实现与Windows应用程序无缝集成的因特网和万维网应用程序。
.NET平台为软件的开发和部署提供了强大的功能,其中包括语言和平台无关性。例如,开发者可采用任何一种或几种.NET语言(比如C#,Visual Basic .NET和Visual C++ .NET)来编写代码,并将其用作同一个软件产品的组件。除了提供语言的独立性之外,.NET还增强了程序的可移植性,它允许.NET应用程序驻留在多个平台上,并允许它们在这些平台之间通信。这样一来,便简化了Web服务的创建及使用,后者是通过因特网将功能揭示给客户端的应用程序。
.NET平台允许将基于Web的应用程序发布到消费类电子设备,比如无线电话和个人数字助理(PDA),还能发布到桌面计算机。微软集成到.NET平台中的功能有效提高了程序员的生产力,并缩短了开发时间。
本书面向的读者
本书言简意赅地介绍了最新的编程技术,适合有经验的程序员阅读。
书中展示了大量完整的、能实际工作的C#程序,并采用程序运行时的实际屏幕截图,展示了它们的输入及输出。这是H. M. Deitel独创的“活代码”(Live-Code)教学方法——所有概念都采用完整的工作程序来展示。书中的源代码都可从www.deitel.com下载。
在阅读本书的过程中,如果想同我们联系,请发一封电子邮件到deitel@deitel.com,我们来信必复。另外,请访问我们的网站www.deitel.com,www.prenhall.com/deitel,以及www.InformIT.com/deitel,我们会经常发布更新、勘误、FAQ等。发送电子邮件时,不要忘了写明书籍标题和版本号。我们衷心希望您能通过本书学好C#。