第1章 Microsoft .NET简介和C#概述 1
1.1 Microsoft .NET简介 1
1.1.1 .NET组成 1
1.1.2 .NET Framework概述 1
1.1.3 .NET Framework的特点 2
1.2 C#概述 4
1.2.1 C#的发展历程 4
1.2.2 C#与.NET的关系 5
1.2.3 C#的特点 5
1.3 Visual Studio集成开发环境 6
1.3.1 Visual Studio集成开发环境介绍 6
1.3.2 熟悉Visual Studio 2010开发环境 6
1.4 C#程序调试 9
小结 10
第2章 C#语言基础 11
2.1 C#程序的基本组成 11
2.1.1 类型 12
2.1.2 命名空间 12
2.1.3 C#注释 14
2.1.4 Main方法 14
2.1.5 控制台输入和输出 14
2.2 变量和常量 15
2.2.1 局部变量的声明 16
2.2.2 局部变量的初始化和作用域 16
2.2.3 常量的初始化和作用域 17
2.3 数据类型 17
2.3.1 预定义数据类型 18
2.3.2 值类型和引用类型 20
2.3.3 类型分类 22
2.3.4 字符串表示 22
2.3.5 格式化输出 25
2.3.6 类型转换 26
2.4 运算符和表达式 28
2.4.1 运算符 28
2.4.2 表达式 31
2.5 控制流语句 31
2.5.1 条件语句 31
2.5.2 循环 35
2.5.3 跳转语句 39
2.6 异常处理 40
2.6.1 异常处理机制 40
2.6.2 抛出异常 42
小结 43
第3章 C#面向对象编程 44
3.1 类的基本概念 44
3.1.1 类的声明 44
3.1.2 类成员 44
3.2 字段、属性和索引器 48
3.2.1 静态字段、实例字段、常量和只读字段 48
3.2.2 属性 50
3.2.3 索引器 52
3.3 方法 54
3.3.1 方法的声明和调用 54
3.3.2 方法的参数 56
3.3.3 方法的重载 59
3.3.4 静态方法和实例方法 59
3.4 构造函数和析构函数 61
3.4.1 实例构造函数 61
3.4.2 静态构造函数 63
3.4.3 析构函数 64
3.5 类的继承 65
3.5.1 派生类的声明 65
3.5.2 基类的重写 66
3.5.3 派生类和基类之间的转换 68
3.5.4 抽象类和抽象方法 68
3.5.5 密封类和密封方法 69
3.5.6 静态类 69
3.5.7 嵌套类 69
3.5.8 分部类 69
3.6 接口 70
3.6.1 接口的声明 70
3.6.2 接口的实现 71
3.6.3 接口的继承 73
3.7 委托与事件 74
3.7.1 委托 74
3.7.2 事件 77
3.8 结构与枚举 80
3.8.1 结构 80
3.8.2 枚举 82
3.9 运算符重载 84
3.9.1 运算符重载概述 84
3.9.2 重载运算符 85
小结 86
第4章 数组与集合 87
4.1 数组 87
4.1.1 一维数组 87
4.1.2 二维数组 90
4.1.3 交错数组 92
4.1.4 Array类 92
4.1.5 数组接口 95
4.2 集合 96
4.2.1 列表集合 96
4.2.2 队列集合 98
4.2.3 栈集合 99
4.2.4 有序表集合 100
4.2.5 其他集合类 102
小结 102
第5章 泛型 103
5.1 泛型概述 103
5.2 泛型约束 107
5.3 泛型集合 117
5.3.1 List〈T〉 117
5.3.2 Queue〈T〉和Stack〈T〉 120
5.3.3 Sortedl .ist〈T,V〉 123
5.3.4 HashsSet〈T〉 126
小结 129
第6章 WinForm用户界面 130
6.1 窗体控件和组件 130
6.1.1 窗体 130
6.1.2 常用控件 134
6.2 菜单 156
6.2.1 MenuStrip控件和下拉式菜单 157
6.2.2 ContextMenuStrip控件和弹出式菜单 159
6.2.3 ToolStrip控件和工具栏 159
6.2.4 StatusStrip控件和状态栏 160
6.3 对话框设计 165
6.3.1 消息对话框 166
6.3.2 文件对话框 166
6.3.3 字体对话框 167
6.3.4 颜色对话框 168
6.3.5 打印对话框 169
小结 172
第7章 窗体的高级应用 173
7.1 高级控件 173
7.1.1 RichTextBox 173
7.1.2 CheckedListBox 178
7.1.3 TabControl 179
7.1.4 ImageList 182
7.1.5 ListView 183
7.1.6 MonthCalendar 187
7.1.7 DateTimePicker 189
7.1.8 TreeView 190
7.2 Windows窗体的调用 193
7.2.1 添加窗体与设置启动窗体 194
7.2.2 模式窗体和非模式窗体 194
7.2.3 多文档界面MDI 198
小结 202
第8章 多线程 203
8.1 多线程的概念 203
8.1.1 进程 203
8.1.2 线程 207
8.1.3 多线程 207
8.2 线程状态 210
8.2.1 线程控制 210
8.2.2 线程开发实例 212
8.3 线程同步 215
8.3.1 使用lock关键字 216
8.3.2 使用Monitor关键字 218
8.3.3 使用Mutex关键字 219
8.4 线程池 221
8.5 窗体控件的跨线程访问 223
小结 229
第9章 文件 230
9.1 文件和流概述 230
9.2 磁盘的基本操作 231
9.3 文件和文件夹操作 233
9.3.1 DirectoryInfo类 233
9.3.2 Directory类 234
9.3.3 FileInfo类 238
9.3.4 File类 240
9.4 读写文件 245
9.4.1 FileStream类 245
9.4.2 StreamReader类和StreamWriter类 250
9.4.3 StringReader类和StringWriter类 254
小结 256
第10章 ADO.NET和数据库 258
10.1 ADO.NET操作数据库 258
10.1.1 Connection对象 258
10.1.2 Command对象 261
10.1.3 DataReader对象 263
10.1.4 DataAdapter对象和DataSet对象 265
10.2 DataGridView数据库绑定控件 269
10.3 数据库关联综合项目 273
小结 279
第11章 TCP/UDP网络编程 280
11.1 网络编程简介 280
11.1.1 TCP/IP 280
11.1.2 UDP/IP 281
11.1.3 套接字——Socket类 281
11.2 TCP网络编程 286
11.2.1 TcpClient类和TcpListener类 286
11.2.2 基于TCP的网络通信 290
11.3 UDP网络编程 297
11.3.1 UdpClient类 297
11.3.2 基于UDP的网络通信 299
小结 302
第12章 GDI十图形编程 303
12.1 图形对象 303
12.1.1 Graphics类 303
12.1.2 Pen类和Brush类 305
12.1.3 Font类 306
12.1.4 Bitmap类 306
12.2 图形的绘制 307
12.2.1 直线的绘制 307
12.2.2 曲线的绘制 308
12.2.3 矩形的绘制 309
12.2.4 椭圆的绘制 310
12.2.5 圆弧的绘制 310
12.2.6 文本的绘制 311
12.2.7 图像的绘制 312
12.2.8 画刷填充图形 313
12.3 C#图像处理基础 317
12.3.1 C#图像处理概述 317
12.3.2 图像的输入和保存 318
12.3.3 彩色图像处理 320
小结 325
第13章 Windows应用程序的部署 326
13.1 应用程序部署概述 326
13.1.1 Visual Studio 2010提供的应用程序部署功能 326
13.1.2 ClickOnce部署和Windows Installer部署的比较 326
13.2 使用ClickOnce部署应用 327
13.2.1 将应用程序发布到Web服务器 327
13.2.2 将应用程序发布到共享文件夹 329
13.2.3 将应用程序发布到CD-ROM光盘 329
13.3 使用Windows Installer部署应用程序 330
13.3.1 使用“安装向导”制作安装程序 330
13.3.2 部署应用程序 334
13.3.3 卸载应用程序 335
小结 336
参考文献 337