第1部分 实用教程 1
第1章 C#概述 1
1.1 C#语言简介 1
1.1.1 C#的优势 1
1.1.2 .NET框架 2
1.2 Visual C#(2010开发环境 3
1.2.1 Visual Studio 2010简介 3
1.2.2 Visual C#环境安装与设置 4
1.2.3 Visual Studio 2010项目管理 6
1.2.4 Visual Studio 2010IDE界面元素 7
1.3最简单的C#程序 13
1.3.1 C#项目的创建与分类 13
1.3.2第一个控制台应用程序 15
1.3.3第一个Windows窗体程序 16
1.3.4第一个Web应用程序 17
第2章 C#语言基础 20
2.1数据类型 20
2.1.1值类型 20
2.1.2引用类型 21
2.1.3两者关系 22
2.2变量与常量 24
2.2.1常量 24
2.2.2变量 26
2.2.3使用举例 26
2.3运算符与表达式 27
2.3.1算术运算符 28
2.3.2关系运算符 28
2.3.3逻辑运算符 29
2.3.4位运算符 30
2.3.5赋值运算符 32
2.3.6条件运算符 33
2.3.7运算符的优先级与结合性 33
2.3.8表达式中的类型转换 34
2.4 C#语句的结构 35
2.4.1三种基本的结构化流程 35
2.4.2分支语句 35
2.4.3循环语句 39
2.4.4 跳转语句 41
2.5数组 45
2.5.1一维数组 45
2.5.2多维数组 47
2.5.3不规则数组 49
2.5.4数组的遍历 51
2.5.5数组应用举例 52
2.6类 54
2.6.1类的声明 54
2.6.2类的成员 55
2.6.3构造函数 57
2.6.4析构函数 59
2.7方法 60
2.7.1方法的声明 60
2.7.2方法的参数 63
2.7.3静态方法与实例方法 69
2.8接口 70
2.8.1接口的概念 70
2.8.2接口的实现 72
第3章 C#面向对象编程 74
3.1什么是面向对象编程 74
3.1.1思想渊源与编程哲学 74
3.1.2面向对象程序设计三原则 75
3.2类的封装与继承 77
3.2.1属性封装 77
3.2.2类的继承 81
3.2.3派生类的构造函数 84
3.3多态的实现 86
3.3.1方法重载 86
3.3.2运算符重载 88
3.3.3虚方法与方法覆盖 89
3.3.4抽象类与抽象方法 94
3.4 C#系统的类型转换 96
3.4.1复合数据类型 96
3.4.2数值转换 100
3.4.3枚举转换 102
3.4.4引用转换 104
3.4.5使用Convert转换 105
3.5编程常用算法 106
3.5.1C#语言对排序查找的支持 106
3.5.2最常用的3种排序算法 108
3.5.3迭代与递归算法 112
3.6异常 114
3.6.1异常与异常类 114
3.6.2异常处理 115
3.7 C#综合应用实例 120
第4章 Windows应用程序开发基础 126
4.1开发步骤演示 126
4.1.1建立项目 126
4.1.2界面设计 127
4.1.3属性设计 127
4.1.4代码设计 127
4.1.5运行调试 127
4.2窗体及其特性 128
4.2.1窗体的外观样式 128
4.2.2窗体可见性控制 129
4.2.3窗体的定位 131
4.3 Windows常用控件 133
4.3.1认识控件大家族 133
4.3.2标签控件 135
4.3.3按钮与文本框 137
4.3.4图片框 140
4.3.5选择控件及分组 141
4.3.6 列表类控件 143
4.3.7状态显示控件 146
4.4对话框应用 148
4.4.1消息框 149
4.4.2模式对话框 150
4.4.3通用对话框 150
4.4.4应用举例 154
4.5 Windows文档程序设计 155
4.5.1菜单设计 156
4.5.2单文档界面(SDI) 158
4.5.3多文档界面(MDI) 160
4.5.4文档的打印 165
第5章 C#高级特性 167
5.1集合与索引器 167
5.1.1自定义集合 167
5.1.2集合类 169
5.1.3索引器 170
5.2委托与事件 172
5.2.1初识委托 172
5.2.2为什么要使用委托 174
5.2.3多播委托 179
5.2.4事件 181
5.3预处理命令 183
5.3.1符号定义与条件编译指令 184
5.3.2警告错误指令 185
5.3.3代码块标识指令 186
5.4组件与程序集 186
5.4.1组件 186
5.4.2程序集 186
5.5泛型 190
第6章 C#线程技术 193
6.1引入线程的动机 193
6.1.1进程的主线程 193
6.1.2主线程的局限性 194
6.1.3多线程编程思路 194
6.2线程的创建及状态控制 195
6.2.1 Thread类的使用 195
6.2.2线程的创建、启动和终止 197
6.2.3线程的挂起与恢复 200
6.2.4线程的状态和优先级 203
6.3线程同步和通信 205
6.3.1 lock关键字 205
6.3.2线程监视器 206
6.3.3线程间的通信 211
6.3.4子线程访问主线程的控件 213
6.4线程的管理和维护 214
6.4.1线程池 215
6.4.2定时器 215
6.4.3同步基元Mutex 215
6.5线程的应用 216
6.5.1实时GUI 217
6.5.2并发任务 219
第7章 C#图形图像编程 222
7.1图形设计基础 222
7.1.1 GDI+简介 222
7.1.2绘图坐标系 223
7.1.3屏幕像素 223
7.2画图工具及其使用 223
7.2.1笔 223
7.2.2画刷 225
7.2.3 Graphics类 227
7.3绘制图形 229
7.3.1线条定位与选型 229
7.3.2画空心形状 231
7.3.3图形的填充 236
7.4字体和图像处理 238
7.4.1定义字体 238
7.4.2文本输出 239
7.4.3绘制图像 239
7.4.4图像刷新 240
7.5综合应用实例 241
第8章 文件操作 247
8.1 .NET的文件I/O模型 247
8.2管理文件夹和目录 248
8.2.1操作文件夹 248
8.2.2处理路径字符串 249
8.2.3读取驱动器信息 251
8.3文件的基本操作 252
8.3.1文件的种类 252
8.3.2创建文件 253
8.3.3读/写文件 256
8.4综合应用实例 260
第9章 数据库应用 267
9.1数据库基础 267
9.1.1关系模型 267
9.1.2 SQL语言 269
9.1.3使用Visual Studio 2010平台创建SQL Server数据库 270
9.2 ADO.NET原理 272
9.2.1 ADO.NET概述 272
9.2.2 ADO.NET对象模型 273
9.2.3数据集与离线访问 274
9.3创建和测试连接 276
9.3.1 Connection连接字符串 276
9.3.2使用Connection对象 277
9.3.3连接的测试 278
9.4在线操作数据库 279
9.4.1 SQL命令的封装 279
9.4.2信息的即时呈现 281
9.4.3数据库在线访问示例 282
9.5数据库的离线访问 284
9.5.1数据适配 284
9.5.2数据集机制 285
9.5.3数据库离线访问示例 289
第2部分 习题 292
第1章 C#概述 292
第2章 C#语言基础 292
第3章 C#面向对象编程 298
第4章 Windows应用程序开发基础 302
第5章 C#高级特性 303
第6章 C#线程技术 304
第7章 C#图形图像编程 304
第8章 文件操作 305
第9章 数据库应用 306
第3部分 实验 308
实验1 C#概述 308
实验2 C#语言基础 309
实验3 C#面向对象编程 316
实验4 Windows应用程序开发基础 324
实验5 C#高级特性 329
实验6 C#线程技术 332
实验7 C#图形图像编程 334
实验8 文件操作 337
实验9 数据库应用 338
第4部分 C#综合应用实习——学生成绩管理系统 341
P.1主界面及功能导航 341
P.2学生信息查询 342
P.3学生信息修改 345
P.4学生成绩录入 350
P.5自己动手扩展系统功能 355
附录A 习题参考答案 356
第1章 C#概述 356
第2章 C#语言基础 356
第3章 C#面向对象编程 358
第4章 Windows应用程序开发基础 359
第5章 C#高级特性 361
第6章 C#线程技术 362
第7章 C#图形图像编程 362
第8章 文件操作 363
第9章 数据库应用 364