《C#入门经典(第4版)》是一本成就无数C#程序员的经典名著,厚而不“重”,可帮助您轻松掌握C#的各种编程知识,为您的职业生涯打下坚实的基础,《C#入门经典》自第1版出版以来,全球销量已经达数万册,在中国也有近8万册的销量,已经成为广大初级C#程序员首要选择的入门教程,也是目前国内市场上最热销的C#专业店销书,曾两次被CSDN、《程序员》等机构和读者评选为“最受读者喜爱的十大技术开发类图书”!第4版面向C#2008和.NET 3.5 继续完善原有内容,同时全面介绍.NET的最近新技术和特性。
源代码下载
Wrox畅销书!C#经典名著!2005年最杈威的十大IT图书!2 006年最受读者喜爱的十大技术开发类图书!2008年全国高校出版社优秀销书一等奖!2006~2008年最热销的 C#入门教程!
第Ⅰ部分 C# 语 言
第1章 C#简介
1.1 什么是.NET Framework
1.1.1 NET Framework的内容
1.1.2 用.NET Framework编写应用程序
1.2 什么是C#
1.2.1 用C#能编写什么样的应用程序
1.2.2 本书中的C#
1.3 Visual Studio 2008
1.3.1 Visual Studio 2008 Express 产品
1.3.2 解决方案
1.4 小结
第2章 编写C#程序
2.1 开发环境
2.1.1 Visual Studio 2008
2.1.2 Visual C# 2008 ExpressEdition
2.2 控制台应用程序
2.2.1 Solution Explorer
2.2.2 Properties窗口
2.2.3 Error List窗口
2.3 Windows Forms应用程序
2.4 小结
第3章 变量和表达式
3.1 C#的基本语法
3.2 C#控制台应用程序的基本结构
3.3 变量
3.3.1 简单类型
3.3.2 变量的命名
3.3.3 字面值
3.3.4 变量的声明和赋值
3.4 表达式
3.4.1 数学运算符
3.4.2 赋值运算符
3.4.3 运算符的优先级
3.4.4 名称空间
3.5 小结
3.6 练习
第4章 流程控制
4.1 布尔逻辑
4.1.1 位运算符
4.1.2 布尔赋值运算符
4.1.3 运算符的优先级更新
4.2 goto语句
4.3 分支
4.3.1 三元运算符
4.3.2 if语句
4.3.3 switch语句
4.4 循环
4.4.1 do循环
4.4.2 while循环
4.4.3 for循环
4.4.4 循环的中断
4.4.5 无限循环
4.5 小结
4.6 练习
第5章 变量的更多内容
5.1 类型转换
5.1.1 隐式转换
5.1.2 显式转换
5.1.3 使用Convert命令进行 显式转换
5.2 复杂的变量类型
5.2.1 枚举
5.2.2 结构
5.2.3 数组
5.3 字符串的处理
5.4 小结
5.5 练习
第6章 函数
6.1 定义和使用函数
6.1.1 返回值
6.1.2 参数
6.2 变量的作用域
6.2.1 其他结构中变量的作用域
6.2.2 参数和返回值与全局数据
6.3 Main()函数
6.4 结构函数
6.5 函数的重载
6.6 委托
6.7 小结
6.8 练习
第7章 调试和错误处理
7.1 VS和VCE中的调试
7.1.1 非中断(正常)模式下的调试
7.1.2 中断模式下的调试
7.2 错误处理
7.2.1 try...catch...finally
7.2.2 列出和配置异常
7.2.3 异常处理的注意事项
7.3 小结
7.4 练习
第8章 面向对象编程简介
8.1 什么是面向对象编程
8.1.1 什么是对象
8.1.2 所有的东西都是对象
8.1.3 对象的生命周期
8.1.4 静态和实例类成员
8.2 OOP技术
8.2.1 接口
8.2.2 继承
8.2.3 多态性
8.2.4 对象之间的关系
8.2.5 运算符重载
8.2.6 事件
8.2.7 引用类型和值类型
8.3 Windows应用程序中的OOP
8.4 小结
8.5 练习
第9章 定义类
9.1 C#中的类定义
9.2 System.Object
9.3 构造函数和析构函数
9.4 VS和VCE中的OOP工具
9.4.1 Class View窗口
9.4.2 对象浏览器
9.4.3 添加类
9.4.4 类图
9.5 类库项目
9.6 接口和抽象类
9.7 结构类型
9.8 小结
9.9 练习
第10章 定义类成员
10.1 成员定义
10.1.1 定义字段
10.1.2 定义方法
10.1.3 定义属性
10.1.4 在类图中添加成员
10.1.5 重制成员
10.1.6 自动属性
10.2 类成员的其他议题
10.2.1 隐藏基类方法
10.2.2 调用重写或隐藏的基类方法
10.2.3 嵌套的类型定义
10.3 接口的实现
10.4 部分类定义
10.5 部分方法定义
10.6 示例应用程序
10.6.1 规划应用程序
10.6.2 编写类库
10.6.3 类库的客户应用程序
10.7 小结
10.8 练习
第11章 集合、比较和转换
11.1 集合
11.1.1 使用集合
11.1.2 定义集合
11.1.3 索引符
11.1.4 给CardLib添加Cards集合
11.1.5 关键字值集合和IDictionary
11.1.6 迭代器
11.1.7 深度复制
11.1.8 给CardLib添加深度复制
11.2 比较
11.2.1 类型比较
11.2.2 值比较
11.3 转换
11.3.1 重载转换运算符
11.3.2 as运算符
11.4 小结
11.5 练习
第12章 泛型
12.1 泛型的概念
12.2 使用泛型
12.2.1 可空类型
12.2.2 System.Collections.Generic 名称空间
12.3 定义泛型
12.3.1 定义泛型类
12.3.2 定义泛型接口
12.3.3 定义泛型方法
12.3.4 定义泛型委托
12.4 小结
12.5 练习
第13章 其他OOP技术
13.1 ::运算符和全局名称空间
13.2 定制异常
13.2.1 异常基类
13.2.2 给CardLib添加定制异常
13.3 事件
13.3.1 什么是事件
13.3.2 使用事件
13.3.3 定义事件
13.4 扩展和使用CardLib
13.5 小结
13.6 练习
第14章 C# 3.0语言的改进
14.1 初始化器
14.1.1 对象初始化器
14.1.2 集合初始化器
14.2 类型推断
14.3 匿名类型
14.4 扩展方法
14.5 ?表达式
14.5.1 复习匿名方法
14.5.2 把?表达式用于匿名方法
14.5.3 ?表达式的参数
14.5.4 ?表达式的语句体
14.5.5 ?表达式用作委托和表达式树
14.5.6 ?表达式和集合
14.6 小结
14.7 练习
第Ⅱ部分 Windows 编 程
第15章 Windows编程基础
15.1 控件
15.1.1 属性
15.1.2 控件的定位、停靠和对齐
15.1.3 事件
15.2 Button控件
15.2.1 Button控件的属性
15.2.2 Button控件的事件
15.3 Label和LinkLabel控件
15.4 TextBox控件
15.4.1 TextBox控件的属性
15.4.2 TextBox控件的事件
15.5 RadioButton和CheckBox控件
15.5.1 RadioButton控件的属性
15.5.2 RadioButton控件的事件
15.5.3 CheckBox控件的属性
15.5.4 CheckBox控件的事件
15.5.5 GroupBox控件
15.6 RichTextBox控件
15.6.1 RichTextBox控件的属性
15.6.2 RichTextBox控件的事件
15.7 ListBox和CheckedListBox控件
15.7.1 ListBox控件的属性
15.7.2 ListBox控件的方法
15.7.3 ListBox控件的事件
15.8 ListView控件
15.8.1 ListView控件的属性
15.8.2 ListView控件的方法
15.8.3 ListView控件的事件
15.8.4 ListViewItem
15.8.5 ColumnHeader
15.8.6 ImageList控件
15.9 TabControl控件
15.9.1 TabControl控件的属性
15.9.2 使用TabControl控件
15.10 小结
15.11 练习
第16章 Windows Forms的高级功能
16.1 菜单和工具栏
16.1.1 两个实质一样的控件
16.1.2 使用MenuStrip控件
16.1.3 手工创建菜单
16.1.4 ToolStripMenuItem控件的其他属性
16.1.5 给菜单添加功能
16.2 工具栏
16.2.1 ToolStrip控件的属性
16.2.2 ToolStrip的项
16.2.3 StatusStrip控件
16.2.4 StatusStripStatusLabel的属性
16.3 SDI和MDI应用程序
16.4 创建控件
16.4.1 LabelTextbox控件
16.4.2 调试用户控件
16.4.3 扩展LabelTextbox控件
16.5 小结
16.6 练习
第17章 使用通用对话框
17.1 通用对话框
17.2 如何使用对话框
17.3 文件对话框
17.3.1 OpenFileDialog
17.3.2 SaveFileDialog
17.4 打印
17.4.1 打印结构
17.4.2 打印多个页面
17.4.3 PageSetupDialog
17.4.4 PrintDialog
17.5 打印预览
17.5.1 PrintPreviewDialog
17.5.2 PrintPreviewControl
17.6 FontDialog和ColorDialog
17.6.1 FontDialog
17.6.2 ColorDialog
17.6.3 FolderBrowserDialog
17.7 小结
17.8 练习
第18章 部署Windows应用程序
18.1 部署概述
18.2 ClickOnce部署
18.3 Visual Studio安装和部署项目类型
18.4 Microsoft Windows安装程序结构
18.4.1 Windows Installer术语
18.4.2 Windows Installer的优点
18.5 为SimpleEditor创建安装软件包
18.5.1 规划安装内容
18.5.2 创建项目
18.5.3 项目属性
18.5.4 安装编辑器
18.5.5 File System编辑器
18.5.6 File Types编辑器
18.5.7 Launch Condition编辑器
18.5.8 User Interface编辑器
18.6 构建项目
18.7 安装
18.7.1 Welcome
18.7.2 Read Me
18.7.3 License Agreement
18.7.4 Optional Files
18.7.5 选择安装文件夹
18.7.6 确认安装
18.7.7 进度
18.7.8 结束安装
18.7.9 运行应用程序
18.7.10 卸载
18.8 小结
18.9 练习
第Ⅲ部分 Web 编 程
第19章 Web编程基础
19.1 概述
19.2 ASP.NET运行库
19.3 创建简单的Web页面
19.4 服务器控件
19.5 事件处理程序
19.6 输入的有效性验证
19.7 状态管理
19.7.1 客户端的状态管理
19.7.2 服务器端的状态管理
19.8 身份验证和授权
19.8.1 身份验证的配置
19.8.2 使用安全控件
19.9 读写SQL Server数据库
19.10 小结
19.11 练习
第20章 Web高级编程
20.1 母版页
20.2 站点导航
20.3 用户控件
20.4 个性化配置
20.4.1 个性化配置组
20.4.2 组件的个性化配置
20.4.3 定制数据类型中的个性化配置
20.4.4匿名用户的个性化配置
20.5 Web Parts
20.5.1 WebPartManager控件
20.5.2 WebPartZone控件
20.5.3 EditorZone控件
20.5.4 CatalogZone控件
20.5.5 ConnectionsZone控件
20.6 JavaScript
20.6.1 Script元素
20.6.2 变量的声明
20.6.3 定义函数
20.6.4 语句
20.6.5 对象
20.7 小结
20.8 练习
第21章 Web服务
21.1 Web服务推出之前
21.1.1 远程过程调用(RPC)
21.1.2 SOAP
21.2 使用Web服务的场合
21.2.1 宾馆旅行社代理应用程序
21.2.2 图书发布应用程序
21.2.3 客户应用程序的类型
21.2.4 应用程序的体系结构
21.3 Web服务的体系结构
21.3.1 可以调用的方法
21.3.2 调用方法
21.3.3 SOAP和防火墙
21.3.4 WS-I基本个性化配置
21.4 Web服务和.NET Framework
21.4.1 创建Web服务
21.4.2 客户程序
21.5 创建简单的ASP.NET Web服务
21.6 测试Web服务
21.7 执行Windows客户程序
21.8 异步调用服务
21.9 执行ASP.NET客户程序
21.10 传送数据
21.11 小结
21.12 练习
第22章 Ajax编程
22.1 Ajax概述
22.2 UpdatePanel控件
22.3 Timer控件
22.4 UpdateProgress控件
22.5 Web服务
22.6 扩展控件
22.7 小结
22.8 练习
第23章 部署Web应用程序
23.1 Internet Information Services
23.2 IIS配置
23.3 复制Web站点
23.4 发布Web站点
23.5 Windows安装程序
23.5.1 创建安装程序
23.5.2 安装Web 应用程序
23.6 小结
23.7 练习
第Ⅳ部分 数 据 访 问
第24章 文件系统数据
24.1 流
24.2 用于输入和输出的类
24.2.1 File类和Directory类
24.2.2 FileInfo类
24.2.3 DirectoryInfo类
24.2.4 路径名和相对路径
24.2.5 FileStream对象
24.2.6 StreamWriter对象
24.2.7 StreamReader对象
24.2.8 读写压缩文件
24.3 序列化对象
24.4 监控文件结构
24.5 小结
24.6 练习
第25章 XML
25.1 XML文档
25.1.1 XML元素
25.1.2 属性
25.1.3 XML声明
25.1.4 XML文档的结构
25.1.5 XML名称空间
25.1.6 格式良好并有效的XML
25.1.7 验证XML文档
25.2 在应用程序中使用XML
25.2.1 XML文档对象模型
25.2.2 选择节点
25.3 小结
25.4 练习
第26章 LINQ简介
26.1 LINQ的变体
26.2 第一个LINQ查询
26.2.1 用var关键字声明结果变量
26.2.2 指定数据源:from子句
26.2.3 指定条件:where子句
26.2.4 指定元素:select子句
26.2.5 完成:使用foreach循环
26.2.6 延迟执行的查询
26.3使用LINQ方法语法和?表达式
26.3.1 LINQ扩展方法
26.3.2 查询语法和方法语法
26.3.3 ?表达式
26.4 排序查询结果
26.5 orderby子句
26.6 用方法语法排序
26.7 查询大型数据集
26.8 合计运算符
26.9 查询复杂的对象
26.10 投射:在查询中创建新对象
26.11 投射:方法语法
26.12 单值选择查询
26.13 Any和All
26.14 多级排序
26.15 多级排序方法语法:ThenBy
26.16 组合查询
26.17 Take和Skip
26.18 First和FirstOrDefault
26.19 集运算符
26.20 Join查询
26.21 资源和进一步阅读
26.22 小结
26.23 练习
第27章 LINQ to SQL
27.1 对象相关映射
27.2 安装SQL Server和Northwind示例数据
27.2.1 安装SQL Server Express2005
27.2.2 安装Northwind示例数据库
27.3 第一个LINQ to SQL查询
27.4 浏览LINQ to SQL关系
27.5 进一步探讨LINQ to SQL
27.6 LINQ to SQL中的组合、排序和其他高级查询
27.7 显示生成的SQL
27.8 用LINQ to SQL绑定数据
27.9 用LINQ to SQL更新绑定数据
27.10 小结
27.11 练习
第28章 ADO.NET和LINQ over DataSet
28.1 ADO.NET概述
28.1.1 ADO.NET名称的来源
28.1.2 ADO.NET的设计目标
28.2 ADO.NET类和对象概述
28.2.1 提供者对象
28.2.2 用户对象
28.2.3 使用System.Data名称空间
28.3 用DataReader读取数据
28.4 用DataSet读取数据
28.4.1 用数据填充DataSet
28.4.2 访问DataSet中的表、行和列
28.5 更新数据库
28.5.1 给数据库添加行
28.5.2 删除行
28.6 在DataSet中访问多个表
28.6.1 ADO.NET中的关系
28.6.2 用关系导航
28.7 XML和ADO.NET
28.8 ADO.NET中的SQL支持
28.8.1 DataAdapter对象中的 SQL命令
28.8.2 直接执行SQL命令
28.8.3 调用SQL存储过程
28.9 使用LINQ over DataSet和ADO.NET
28.10 小结
28.11 练习
第29章 LINQ to XML
29.1 LINQ to XML函数构造方法
29.2 保存和加载XML文档
29.2.1 从字符串中加载XML
29.2.2 已保存的XML文档内容
29.3 处理XML片段
29.4 通过LINQ to XML生成 XML
29.5 查询XML文档
29.6 小结
29.7 练习
第Ⅴ部分 其 他 技 术
第30章 属性
30.1 什么是属性
30.2 反射
30.3 内置属性
30.3.1 System.Diagnostics.Conditional Attribute
30.3.2 System.Obsolete Attribute
30.3.3 System.Serializable
Attribute
30.3.4 System.Reflection.Assembly Delay Sign Attribute
30.4 定制属性
30.4.1 BugFix Attribute
30.4.2 System.Attribute Usage Attribute
30.5 小结
第31章 XML文档说明
31.1 添加XML文档说明
31.1.1 XML文档说明的注释
31.1.2 使用类图添加XML文档说明
31.1.3 生成XML文档说明文件
31.1.4 带有XML文档说明的应用程序示例
31.2 使用XML文档说明
31.2.1 编程处理XML文档说明
31.2.2 用XSLT格式化XML文档说明
31.2.3 文档说明工具
31.3 小结
31.4 练习
第32章 网络
32.1 联网概述
32.1.1 名称的解析
32.1.2 统一资源标识符
32.1.3 TCP和UDP
32.1.4 应用协议
32.2 网络编程选项
32.3 WebClient
32.4 WebRequest和WebResponse
32.5 TcpListener和TcpClient
32.6 小结
32.7 练习
第33章 GDI+简介
33.1 图形绘制概述
33.1.1 Graphics类
33.1.2 对象的删除
33.1.3 坐标系统
33.1.4 颜色
33.2 使用Pen类绘制线条
33.3 使用Brush类绘制图形
33.4 使用Font 类绘制文本
33.5 使用图像进行绘制
33.5.1 使用纹理画笔绘图
33.5.2 使用钢笔绘制图像
33.5.3 双倍缓冲
33.6 GDI+的高级功能
33.6.1 剪切
33.6.2 System.Drawing.Drawing2D
33.6.3 System.Drawing.Imaging
33.7 小结
33.8 练习
第 34 章 Windows Presentation Foundation
34.1 WPF的概念
34.1.1 WPF给设计人员带来的好处
34.1.2 WPF给C#开发人员带来的好处
34.2 基本WPF应用程序的组成
34.3 WPF基础
34.3.1 XAML语法
34.3.2 桌面和Web应用程序
34.3.3 Application对象
34.3.4 控件基
34.3.5 控件的布局
34.3.6 控件的样式
34.3.7 触发器
34.3.8 动画
34.3.9 静态和动态资源
34.4 用WPF编程
34.4.1 WPF用户控件
34.4.2 实现依赖属性
34.5 小结
34.6 练习
第35 章 Windows Communication Foundation
35.1 WCF是什么
35.2 WCF概念
35.2.1 WCF通信协议
35.2.2 地址、端点和绑定
35.2.3 合同
35.2.4 消息模式
35.2.5 行为
35.2.6 主机
35.3 WCF编程
35.3.1 定义WCF服务合同
35.3.2 自存储的WCF服务
35.4 小结
35.5 练习
第36章 Windows Workflow Foundation
36.1 活动
36.1.1 DelayActivity
36.1.2 SuspendActivity
36.1.3 WhileActivity
36.1.4 SequenceActivity
36.1.5 定制活动
36.2 工作流运行库
36.3 数据绑
36.4 小结