第一部分 理论部分 3
第1章 .NET Framework概述 3
1.1 .NET Framework简介 3
1.2 .NET Framework的体系结构 4
1.3 .NET Framework的组件 4
1.3.1公共语言运行库CLR 5
1.3.2 .NET Framework类库 6
1.4第一个C#程序——Hello World 7
1.4.1程序源码 7
1.4.2编译执行 7
1.4.3代码分析 8
1.5学习总结 9
理论复习 9
上机作业 10
第2章 Visual Studio.NET 2005使用 11
2.1 Visual Studio.NET 2005简介 11
2.2 Visual Studio 2005.NET安装 12
2.2.1准备工作 13
2.2.2进行安装 13
2.2.3环境设置 18
2.3 Visual Studio 2005.NET的功能 19
2.3.1 Visual Studio 2005.NET视图 19
2.3.2 Visual Studio 2005.NET帮助 24
2.4使用Visual Studio 2005.NET创建和编译程序 25
2.4.1创建控制台程序 25
2.4.2编译及运行程序 27
2.5学习总结 28
第3章 C#基础知识 29
3.1预定义数据类型 29
3.2变量和常量 31
3.2.1变量 32
3.2.2常量 34
3.3值类型和引用类型 35
3.3.1数据分类 35
3.3.2值数据类型 35
3.3.3引用数据类型 40
3.3.4装箱和拆箱 45
3.4运算符和表达式 47
3.4.1 C#的运算符 47
3.4.2运算符分类 48
3.4.3运算符优先级和结合性 50
3.5 C#中的条件语句 51
3.5.1 if语句 51
3.5.2 switch语句 52
3.6 C#中的循环语句 54
3.6.1 while语句 54
3.6.2 do—while语句 55
3.6.3 for语句 56
3.6.4 foreach语句 57
3.7数组 59
3.8结构 60
3.9枚举 62
3.10学习总结 63
理论复习 64
上机作业 64
第4章 在C#中实现OOP 66
4.1 C#的类和对象 66
4.1.1类和对象的概念 67
4.1.2类定义和对象创建 68
4.1.3命名空间 69
4.1.4访问修饰符 72
4.2 C#的方法 74
4.2 1方法定义 75
4.2.2方法调用 76
4.2.3方法的参数传递 78
4.2.4方法重载 83
4.3构造函数和析构函数 87
4.3.1构造函数 87
4.3.2析构函数 88
4.4类的静态成员 90
4.4.1类的静态成员 90
4.4.2静态构造函数 93
4.5类的可视化设计 95
4.5.1 Visual Studio 2005的可视化类设计器 95
4.5.2类的设计方法小结 98
4.6学习总结 99
理论复习 100
上机作业 101
第5章 C#中的面向对象特性 103
5.1封装性 103
5.1.1封装简介 103
5.1.2属性概念 105
5.2继承性 108
5.2.1继承的概念 108
5.2.2单继承 111
5.2.3派生类的使用 113
5.3多态性 116
5.3.1多态性简介和实例说明 116
5.3.2虚方法 118
5.3.3抽象类和抽象方法 120
5.4接口 123
5.4.1接口概述 123
5.4.2多重接口 126
5.4.3显示接口 127
5.4.4接口继承 130
5.5学习总结 132
理论复习 133
上机作业 133
第6章 委托和事件 134
6.1委托(delegate) 134
6.1.1委托的概念 134
6.1.2委托与函数指针 136
6.1.3委托与静态方法 137
6.1.4委托链 138
6.2事件(event) 139
6.2.1事件的概念 139
6.2.2事件注册控制 141
6.2.3事件的触发 141
6.3学习总结 142
理论复习 143
上机作业 143
第7章 WinForms基础知识 144
7.1 Windows窗体简介 144
7.1.1 Windows窗体概述 144
7.1.2创建W inForms程序 144
7.1.3代码分析 148
7.1.4执行WinForms程序 151
7.2常用窗体控件 151
7.2.1控件简介 151
7.2.2窗体设计 152
7.2.3常用控件 155
7.3消息框窗口 163
7.3.1消息框显示文本信息 163
7.3.2设置消息框按钮 164
7.3.3为消息框添加图标 164
7.4窗体详细介绍 165
7.4.1模式窗口 165
7.4.2窗体的常用属性 165
7.4.3窗体的方法 166
7.4.4窗体的事件 167
7.4.5窗体之间的调用 167
7.5程序实例 168
7.6学习总结 172
理论复习 173
上机作业 173
第8章 WinForms控件 175
8.1选择控件 175
8.1.1 CheckBox复选框 175
8.1.2 RadioButton单选按钮 179
8.1.3 CheckedListBox复选列表 182
8.1.4 VscrollBar垂直滚动条 183
8.1.5 HscrollBar水平滚动条 184
8.1.6 TrackBar刻度条 184
8.2图片控件 185
8.3容器控件 186
8.3.1 TabControl选项卡 186
8.3.2 Panel面板 188
8.3.3 GroupBox分组框 188
8.3.4 Splitter分割条 189
8.4显示控件 189
8.5其他控件 190
8.6程序实例 191
8.7学习总结 196
理论复习 196
上机作业 196
第9章 程序调试和异常处理 198
9.1程序调试 198
9.1.1调试必要性 198
9.1.2调试说明 199
9.2异常处理 205
9.2.1异常简介 206
9.2.2异常的产生 208
9.2.3异常的处理 209
9.2.4自定义异常 214
9.2.5异常的使用 216
9.3学习总结 216
理论复习 217
上机作业 218
第10章 线程 219
10.1线程简介 219
10.1.1线程的概念 219
10.1.2多线程编程的优点 220
10.1.3多线程编程的缺点 221
10.2 Thread类简介 221
10.2.1 Thread类的构造函数 221
10.2.2 Thread类的方法 222
10.2.3 Thread类的属性 223
10.3 Thread类操作 223
10.3.1线程的生命周期 223
10.3.2 Thread类的基本操作 224
10.3.3线程同步 227
10.4程序实例 229
10.5学习总结 232
理论复习 232
上机作业 233
第11章 数组和集合对象 234
11.1 System.Array 234
11.1.1数组的概念 234
11.1.2数组变量的定义 235
11.1.3数组元素的初始化 235
11.1.4通过索引访问元素 236
11.1.5数组元素的遍历 237
11.1.6 System.Array类的方法 238
11.2 System.Collections 238
11.2.1 System.Collections的集合类型 239
11.3 ArrayList 239
11.3.1 ArrayList的简介 239
11.3.2 ArrayList的方法 240
11.3.3 ArrayList的属性 242
11.3.4实例说明 242
11.4 Hashtable 245
11.4.1 Hashtable的简介 245
11.4.2 Hashtable的方法 245
11.4.3 Hashtable的属性 247
11.4.4实例说明 247
11.5泛型集合 251
11.5.1泛型简介 251
11.5.2 List<T> 254
11.5.3 Dictionary<K,V> 260
11.6对象的序列化和反序列化 265
11.6.1对象序列化和反序列化简介 265
11.6.2对象序列化和反序列化实例 267
11.7学习总结 269
理论复习 270
上机作业 270
第12章 C#中文件处理 272
12.1 System.IO命名空间 272
12.1.1 System.IO中的类定义 272
12.1.2文件和流的区别 273
12.1.3 FileStream类 274
12.2 读写文本文件 276
12.2.1创建文件 276
12.2.2 StreamWriter 279
12.2.3 StreamReader 280
12.2.4复制文件 281
12.3读写二进制文件 283
12.3.1类BinaryWriter 283
12.3.2类BinaryReader 284
12.4读写内存流 286
12.5程序实例 287
12.6学习总结 292
理论复习 292
上机作业 293
第二部分 上机练习部分 297
第一阶段练习 C#基础知识 297
第一部分 指导练习(50分钟) 297
练习内容一:switch语句 297
练习内容二:数组 299
练习内容三:结构和枚举 302
第二部分 独立练习(50分钟) 305
练习内容:图书借阅系统 305
第三部分 扩展练习 306
练习内容 306
第二阶段练习 在C#中实现OPP 307
第一部分 指导练习(50分钟) 307
练习内容一:方法重载 307
练习内容二:构造函数 310
练习内容三:静态成员 312
第二部分 独立练习(50分钟) 316
练习内容:银行账户管理系统 316
第三部分 扩展练习 317
练习内容:个人所得税计算系统 317
第三阶段练习 C#中的面向对象特性 318
第一部分 指导练习(50分钟) 318
练习内容一:单一继承 318
练习内容二:抽象类 321
练习内容三:接口继承 324
第二部分 独立练习(50分钟) 328
练习内容 328
第三部分 扩展练习 329
练习内容 329
第四阶段练习 委托和事件 330
第一部分 指导练习(50分钟) 330
练习内容一:委托 330
练习内容二:事件 334
第二部分 独立练习(50分钟) 337
练习内容 337
第三部分 扩展练习 338
练习内容 338
第五阶段练习 WinForms基础知识 339
第一部分 指导练习(50分钟) 339
练习内容一:通讯录管理系统 339
第二部分 独立练习(50分钟) 349
练习内容 349
第三部分 扩展练习 350
练习内容 350
第六阶段练习 WinForms控件 351
第一部分 指导练习(50分钟) 351
练习内容一:学生信息管理系统 351
第二部分 独立练习(50分钟) 362
练习内容 362
第三部分 扩展练习 364
练习内容 364
第七阶段练习 调试和异常处理 366
第一部分 指导练习(50分钟) 366
练习内容一:调试应用程序 366
练习内容二:异常处理 372
练习内容三:自定义异常 375
第二部分 独立练习(50分钟) 381
练习内容 381
第三部分 扩展练习 382
练习内容 382
第八阶段练习 多线程 383
第一部分 指导练习(50分钟) 383
练习内容一:单线程程序 383
第二部分 独立练习(50分钟) 388
练习内容:双线程程序 388
第三部分 扩展练习 390
练习内容 390
第九阶段练习 数组和集合对象 392
第一部分 指导练习(50分钟) 392
练习内容一:ArrayList 392
练习内容二:Hashtable 400
第二部分 独立练习(50分钟) 405
练习内容 405
第三部分 扩展练习 406
练习内容 406
第十阶段练习 C#中的文件处理 407
第一部分 指导练习(50分钟) 407
练习内容一:读写文本文件 407
第二部分 独立练习(50分钟) 415
练习内容 415
第三部分 扩展练习 416
练习内容 416
附录:词汇表 417