本书是您在学习编写C#程序时的必备向导,它逐步阐明了C# 和.NET 的关键概念.本书首先介绍C#语言和基础知识,然后深入探讨如何利用C#进行面向对象的编程,如何利用C#编写Windows 应用程序,以及如何用C#创建动态Web页和 Web服务。最后的两个案例分析提供了多个完整用的C#应用程序范例,同时展示了利用C#编写应用程序的方法。
本书适用于初学者,以及相对缺乏编程经验、但又想从不支持面向对象编程技术的语言转移.NET Framework的程序员。 \r\n
第1章 C#简介\r\n\r\n1.1 什么是.NET Framework\r\n1.1.1 .NET Framework的内容\r\n1.1.2 如何用.NET Framework编写应用程序\r\n1.2 什么是C#\r\n1.2.1 用C#能编写什么样的应用程序\r\n1.2.2 本书中的C#\r\n1.3 Visual Studio.NET\r\n1.4 小结\r\n\r\n第2章 编写C#程序\r\n\r\n2.1 Visual Studio.NET开发环境\r\n2.2 控制台应用程序\r\n2.3 Windows Forms应用程序\r\n2.4 小结\r\n\r\n第3章 变量和表达式\r\n\r\n3.1 C#的基本语法\r\n3.2 变量\r\n3.2.1 简单类型\r\n3.2.2 变量的命名\r\n3.2.3 字面值\r\n3.2.4 变量声明和赋值\r\n3.3 表达式\r\n3.3.1 数学运算符\r\n3.3.2 赋值运算符\r\n3.3.3 运算符的优先级\r\n3.3.4 名称空间\r\n3.4 小结\r\n3.5 练习\r\n\r\n第4章 流程控制\r\n\r\n4.1 布尔逻辑\r\n4.1.1 位运算符\r\n4.1.2 布尔赋值运算符\r\n4.1.3 运算符的优先级更新\r\n4.1.4 goto语句\r\n4.2 分支\r\n4.2.1 三元运算符\r\n4.2.2 if语句\r\n4.2.3 switch语句\r\n4.3 循环\r\n4.3.1 do循环\r\n4.3.2 while循环\r\n4.3.3 for循环\r\n4.3.4 循环的中断\r\n4.3.5 无限循环\r\n4.4 小结\r\n4.5 练习\r\n\r\n第5章 变量的更多内容\r\n\r\n5.1 类型转换\r\n5.1.1 隐式转换\r\n5.1.2 显式转换\r\n5.1.3 使用Convert命令进行显式转换\r\n5.2 复杂的变量类型\r\n5.2.1 枚举\r\n5.2.2 结构\r\n5.2.3 数组\r\n5.3 字符串的处理\r\n5.4 小结\r\n5.5 练习\r\n\r\n第6章 函数\r\n\r\n6.1 定义和使用函数\r\n6.1.1 返回值\r\n6.1.2 参数\r\n6.2 变量的作用域\r\n6.2.1 其他结构中的变量作用域\r\n6.2.2 参数和返回值与全局数据\r\n6.3 Main()函数\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 Visual Studio中的调试\r\n7.1.1 非中断(正常)模式下的调试\r\n7.1.2 中断模式下的调试\r\n7.2 错误处理\r\n7.3 小结\r\n7.4 练习\r\n\r\n第8章 面向对象编程简介\r\n\r\n8.1 什么是面向对象编程\r\n8.1.1 什么是对象\r\n8.1.2 所有的东西都是对象\r\n8.1.3 对象的生命周期\r\n8.2 静态和实例类成员\r\n8.3 OOP技术\r\n8.3.1 接口\r\n8.3.2 继承\r\n8.3.3 多态性\r\n8.3.4 对象之间的关系\r\n8.3.5 运算符重载\r\n8.3.6 事件\r\n8.3.7 引用类型和值类型\r\n8.4 Windows应用程序中的OOP\r\n8.5 小结\r\n8.6 练习\r\n\r\n第9章 定义类\r\n\r\n9.1 C#中的类定义\r\n9.2 System.Object\r\n9.3 构造函数和析构函数\r\n9.4 Visual Studio.NET中的OOP工具\r\n9.4.1 Class View窗口\r\n9.4.2 对象浏览器\r\n9.4.3 添加类\r\n9.5 类库工程\r\n9.6 接口和抽象类\r\n9.7 结构类型\r\n9.8 阴影和深度复制\r\n9.9 小结\r\n9.10 练习\r\n\r\n第10章 定义类成员\r\n\r\n10.1 成员定义\r\n10.1.1 定义域\r\n10.1.2 定义方法\r\n10.1.3 定义属性\r\n10.2 VS成员向导\r\n10.2.1 添加方法的向导\r\n10.2.2 添加属性的向导\r\n10.2.3 添加域的向导\r\n10.3 成员属性\r\n10.4 类成员的其他议题\r\n10.4.1 隐藏基类方法\r\n10.4.2 调用重写或隐藏的基类方法\r\n10.4.3 嵌套的类型定义\r\n10.5 接口的执行\r\n10.6 范例应用程序\r\n10.6.1 规划应用程序\r\n10.6.2 编写类库\r\n10.6.3 类库的客户应用程序\r\n10.7 小结\r\n10.8 练习\r\n\r\n第11章 类的更多内容\r\n\r\n11.1 集合\r\n11.1.1 使用集合\r\n11.1.2 定义集合\r\n11.2 运算符重载\r\n11.2.1 转换运算符\r\n11.2.2 升级CardLib(第二部分)\r\n11.3 高级转换\r\n11.3.1 封箱和拆箱\r\n11.3.2 is运算符\r\n11.3.3 as运算符\r\n11.4 深度复制\r\n11.5 定制异常\r\n11.6 小结\r\n11.7 练习\r\n\r\n第12章 事件\r\n\r\n12.1 什么是事件\r\n12.2 使用事件\r\n12.2.1 处理事件\r\n12.2.2 定义事件\r\n12.3 扩展和使用CardLib\r\n12.4 小结\r\n12.5 练习\r\n\r\n第13章 使用Windows Form控件\r\n\r\n13.1 Windows窗体设计器\r\n13.2 工具箱\r\n13.3 控件\r\n13.3.1 属性\r\n13.3.2 Anchor和Dock属性\r\n13.3.3 事件\r\n13.4 Button控件\r\n13.4.1 Button控件的属性\r\n13.4.2 Button控件的事件\r\n13.5 Label和LinkLabel控件\r\n13.6 TextBox控件\r\n13.6.1 TextBox控件的属性\r\n13.6.2 TextBox控件的事件\r\n13.7 RadioButton和CheckBox控件\r\n13.7.1 RadioButton控件的属性\r\n13.7.2 RadioButton控作的事件\r\n13.7.3 CheckBox控件的属性\r\n13.7.4 CheckBox控件的事件\r\n13.7.5 GroupBox控件\r\n13.8 kichTextBox控件\r\n13.8.1 RichTextBox控件的属性\r\n13.8.2 RichTextBox控件的事件\r\n13.9 ListBox和CheckedListBox控件\r\n13.9.1 ListBox控件的属性\r\n13.9.2 ListBox控件的方法\r\n13.9.3 ListBox控件的事件\r\n13.10 ComboBox控件\r\n13.10.1 ComboBox控件的属性\r\n13.10.2 ComboBox控件的事件\r\n13.11 ListView控件\r\n13.11.1 ListView控件的属性\r\n13.11.2 ListView控件的方法\r\n13.11.3 ListView控件的事件\r\n13.11.4 ListViewItem\r\n13.11.5 ColumnHeader\r\n13.11.6 ImageList控件\r\n13.12 StatusBar控件\r\n13.12.1 StatusBar控件的属性\r\n13.12.2 StatusBar控件的事件\r\n13.12.3 StatusBarPanel类\r\n13.12.4 StatusBar范例\r\n13.13 TabControl控件\r\n13.13.1 TabControl控件的属性\r\n13.13.2 使用TabControl控件\r\n13.14 小结\r\n\r\n第14章 Windows Forms的高级功能\r\n\r\n14.1 菜单\r\n14.1.1 使用菜单控件\r\n14.1.2 MenuItem控件\r\n14.1.3 MenuItem控件的事件\r\n14.1.4 ContextMenu控件\r\n14.2 工具栏\r\n14.2.1 Toolbar控件的属性\r\n14.2.2 Toolbar控件的事件\r\n14.2.3 ToolbarButton控件的属性\r\n14.3 SDI和MDI应用程序\r\n14.4 创建控件\r\n14.4.1 调试用户控件\r\n14.4.2 扩展LabelTextbox控件\r\n14.5 小结\r\n14.6 练习\r\n\r\n第15章 使用对话框\r\n\r\n15.1 对话框\r\n15.2 如何使用对话框\r\n15.3 文件对话框\r\n15.3.1 OpenFileDlalog\r\n15.3.2 SaveFileDialog\r\n15.4 打印\r\n15.4.1 打印结构\r\n15.4.2 打印多个页面\r\n15.4.3 页面设置\r\n15.4.4 打印对话框\r\n15.5 打印预览\r\n15.5.1 PrintPreviewDlalog\r\n15.5.2 PrintPreviewControl\r\n15.6 FontDialog和ColorDialog\r\n15.6.1 FontDialog\r\n15.6.2 ColorDialog\r\n15.7 小结\r\n15.8 练习\r\n\r\n第16章 GDI+简介\r\n\r\n16.1 图形绘制概述\r\n16.1.1 Graphics类\r\n16.1.2 对象的删除\r\n16.1.3 坐标系统\r\n16.1.4 颜色\r\n16.2 使用Pen类绘制线条\r\n16.3 使用Brush类绘制图形\r\n16.4 使用Font类绘制文本\r\n16.5 使用图像进行绘制\r\n16.5.1 使用纹理画笔进行绘图\r\n16.5.2 使用钢笔绘制图像\r\n16.5.3 使用图像绘制文本\r\n16.5.4 双倍缓冲\r\n16.6 GDI+的高级功能\r\n16.6.1 剪切\r\n16.6.2 打印\r\n16.6.3 打印预览\r\n16.6.4 System.Drawing.Drawing2D\r\n16.6.5 System.Drawing.Imaging\r\n16.7 小结\r\n\r\n第17章 部署Windows应用程序\r\n\r\n17.1 部署的含义\r\n17.2 部署工程类型\r\n17.3 Microsoft Windows安装程序结构\r\n17.3.1 Windows Installer术语\r\n17.3.2 Windows Installer的优点\r\n17.4 为简单的编辑器创建一个安装程序软件包\r\n17.4.1 规划安装内容\r\n17.4.2 创建工程\r\n17.4.3 工程属性\r\n17.4.4 安装编辑器\r\n17.4.5 File System编辑器\r\n17.4.6 File Types编辑器\r\n17.4.7 Launch Condition编辑器\r\n17.4.8 User Interface编辑器\r\n17.5 构建工程\r\n17.6 安装\r\n17.6.1 Welcome\r\n17.6.2 Read Me\r\n17.6.3 License Agreement\r\n17.6.4 Optional Files\r\n17.6.5 选择安装文件夹\r\n17.6.6 确认安装\r\n17.6.7 进度\r\n17.6.8 结束安装\r\n17.6.9 运行应用程序\r\n17.6.10 自我修复\r\n17.6.11 卸载\r\n17.7 小结\r\n\r\n第18章 获取数据\r\n\r\n18.1 在VS中访问数据\r\n18.1.1 数据访问简史\r\n18.1.2 ADO.NET引言\r\n18.2 在VS中查看数据\r\n18.2.1 连接到数据库\r\n18.2.2 数据库表和关系\r\n18.3 在应用程序中访问数据库\r\n18.4 查看完成的结果\r\n18.5 在DataSet中导航\r\n18.6 添加列表\r\n18.7 添加Datagrid\r\n18.7.1 格式化Datagrid\r\n18.7.2 更新数据库\r\n18.8 XML\r\n18.8.1 XML文档\r\n18.8.2 XML名称空间\r\n18.8.3 格式良好并有效的XML\r\n18.8.4 验证XML文档\r\n18.8.5 C#中的XML自动文档\r\n18.9 小结\r\n18.10 练习\r\n\r\n第19章 使用ADO.NET访问数据\r\n\r\n19.1 ADO.NET概述\r\n19.1.1 ADO.NET名称的来源\r\n19.1.2 ADO.NET的设计目标\r\n19.2 ADO.NET类和对象概述\r\n19.2.1 提供者对象\r\n19.2.2 用户对象\r\n19.2.3 使用System.Data名称空间\r\n19.2.4 在DataSet中访问多个表\r\n19.3 XML和ADO.NET\r\n19.4 在ADO.NET DataSets中的XML支持\r\n19.5 ADO.NET中的SQL支持\r\n19.5.1 在DataAdapter中的SQL命令\r\n19.5.2 直接执行SQL命令\r\n19.6 关于ADO.NET的进一步说明\r\n19.7 小结\r\n19.8 练习\r\n\r\n第20章 使用文件\r\n\r\n20.1 流\r\n20.2 用于输入和输出的类\r\n20.2.1 File和Directory类\r\n20.2.2 FileInfo类\r\n20.2.3 DirectoryInfo类\r\n20.2.4 FileStream对象\r\n20.2.5 StreamWriter对象\r\n20.2.6 StreamReader对象\r\n20.3 高级主题\r\n20.3.1 监控文件结构\r\n20.3.2 异步访问文件\r\n20.4 小结\r\n20.5 练习\r\n\r\n第21章 .NET装配件\r\n\r\n21.1 装配件简介\r\n21.1.1 组件\r\n21.1.2 组件的优点\r\n21.1.3 组件的简短历史\r\n21.2 自我说明的.NET装配件\r\n21.3 装配件的结构\r\n21.4 创建装配件\r\n21.4.1 创建类库\r\n21.4.2 Shapes源代码\r\n21.4.3 编译类库\r\n21.5 查看装配件的内容\r\n21.5.1 将ILDASM作为外部工具添加到VS中\r\n21.5.2 使用ILDASM\r\n21.5.3 清单\r\n21.6 装配件属性\r\n21.6.1 AssemblyInfo.cs\r\n21.6.2 版本号\r\n21.6.3 版本属性\r\n21.6.4 AssemblyVersion属性\r\n21.6.5 版本兼容性\r\n21.7 调用装配件\r\n21.8 私有和共享装配件\r\n21.8.1 私有装配件\r\n21.8.2 共享装配件\r\n21.8.3 搜索装配件\r\n21.9 小结\r\n21.10 练习\r\n\r\n第22章 属性\r\n\r\n22.1 什么是属性\r\n22.2 反射\r\n22.3 内置属性\r\n22.3.1 System.Diagnostics.ConditionalAttribute\r\n22.3.2 System.ObsoleteAttribute\r\n22.3.3 System.SerializableAttribute\r\n22.3.4 System.Reflection.AssemblyDelaySignAttribute\r\n22.4 定制属性\r\n22.4.1 TestCaseAttribute\r\n22.4.2 System.AttributeUsageAttribute\r\n22.5 小结\r\n\r\n第23章 Web编程基础\r\n\r\n23.1 引言\r\n23.2 Internet简史\r\n23.2.1 World Wide Web\r\n23.2.2 Web的工作原理\r\n23.2.3 HTTP-超文本传输协议\r\n23.3 Web编程101\r\n23.3.1 HTML\r\n23.3.2 HTML窗体\r\n23.3.3 静态和活动的Web页\r\n23.4 Web的演化过程\r\n23.5 .NET Web编程\r\n23.5.1 ASP.NET\r\n23.5.2 WebForms\r\n23.6 小结\r\n\r\n第24章 ASP.NET应用程序\r\n\r\n24.1 建立Weblog\r\n24.1.1 应用程序的基础\r\n24.1.2 添加活动元素\r\n24.2 Weblog项目\r\n24.2.1 存储Weblog项目\r\n24.2.2 显示Weblog项目\r\n24.2.3 显示时间\r\n24.2.4 改善页面的外观\r\n24.2.5 显示项目列表\r\n24.3 创建新Weblog项目\r\n24.3.1 编辑Weblog项目\r\n24.3.2 给项目排序\r\n24.4 用户会话和Cookies\r\n24.5 小结\r\n24.6 练习\r\n\r\n第25章 Web服务\r\n\r\n25.1 Web服务推出之前\r\n25.1.1 远程过程调用(RPC)\r\n25.1.2 SOAP\r\n25.2 使用Web服务的场合\r\n25.2.1 宾馆旅行社代理应用程序\r\n25.2.2 书籍发布应用程序\r\n25.2.3 客户应用程序的类型\r\n25.2.4 应用程序的体系结构\r\n25.3 Web服务的体系结构\r\n25.3.1 Web服务的搜索引擎\r\n25.3.2 Web服务的发现\r\n25.3.3 可以调用的方法\r\n25.3.4 调用方法\r\n25.4 Web服务和.NET Framework\r\n25.4.1 创建Web服务\r\n25.4.2 客户程序\r\n25.5 创建一个简单的ASP.NET Web服务\r\n25.5.1 生成的文件\r\n25.5.2 添加Web方法\r\n25.6 测试Web服务\r\n25.7 执行Windows客户程序\r\n25.8 执行ASP.NET客户程序\r\n25.9 小结\r\n\r\n第26章 案例分析1——调查问卷Web站点\r\n\r\n26.1 调查问卷Web站点\r\n26.2 版本1\r\n26.2.1 要求\r\n26.2.2 对象模型的设计(事务逻辑层)\r\n26.2.3 测试\r\n26.2.4 数据结构(数据层)\r\n26.2.5 对象的执行\r\n26.2.6 用户界面(表示层)\r\n26.2.7 版本1的价值\r\n26.3 版本2\r\n26.3.1 其他要求\r\n26.3.2 调查结果工具\r\n26.3.3 一人一张选票\r\n26.3.4 调查问卷控件\r\n26.4 三层和调查问卷应用程序\r\n26.5 小结\r\n\r\n第27章 案例分析2——线时事通讯管理器\r\n\r\n27.1 应用程序概览\r\n27.2 应用程序的设计\r\n27.3 数据和事务对象\r\n27.3.1 数据库设计\r\n27.3.2 访问数据库的事务类\r\n27.3.3 配置数据管理\r\n27.4 管理用户界面\r\n27.4.1 创建用户控件\r\n27.4.2 Lists管理器页面\r\n27.4.3 管理订阅者\r\n27.4.4 给订阅者发送电子邮件\r\n27.4.5 Utilities类\r\n27.4.6 管理新闻归档文件\r\n27.4.7 在线修改设置\r\n27.4.8 在线修改布局\r\n27.4.9 为用户创建订阅窗体\r\n27.4.10 订阅邮件列表\r\n27.4.11 保证应用程序的安全性\r\n27.4.12 编译装配件\r\n27.4.13 运行应用程序\r\n27.4.14 浏览器的兼容问题\r\n27.5 小结\r\n\r\n第28章 范例——用C#建立一个在线购物车\r\n\r\n28.1 引言\r\n28.2 建立基础\r\n28.2.1 深入理解在线购物车模型\r\n28.2.2 定义需求\r\n28.2.3 生成数据库模型\r\n28.3 开始编码\r\n28.3.1 应用程序的架构\r\n28.3.2 类别列表块\r\n28.3.3 商品的细目\r\n28.3.4 购物车筐\r\n28.3.5 检验系统\r\n28.3.6 跟踪订单\r\n28.4 站点的部署\r\n28.5 改进在线购物车程序\r\n28.5.1 功能的改进\r\n28.5.2 技术方面的改进\r\n28.6 结论\r\n\r\n附录A 设置PATH环境变量\r\n\r\nA.1 Windows 2000/XP\r\nA.2 Windows NT\r\nA.3 Windows 95/98/ME\r\n\r\n附录B 安装MSDE\r\n\r\nB.1 安装Microsoft Database Engine(MSDE)\r\nB.2 把Northwind导入MSDE\r\n\r\n附录C C#编译选项