第一篇 初识C 2
第1章 认识C#及其相关特性 2
1.1 C#简介 2
1.1.1 C#语言特点及概述 2
1.1.2 C#与C、C++的关系 3
1.1.3 C#与.NET Framework框架的关系 3
1.1.4 C#中命名空间的作用 4
1.2 Visual Studio 2010简介 6
1.2.1 Visual Studio 2010的历史与现在 6
1.2.2首选Visual Studio 2010开发C#的原因 6
1.2.3 Visual Studio 2010的安装 8
1.2.4熟悉Visual Studio 2010的使用环境 10
1.3编写第一个经典Windows应用程序 12
1.3.1 Windows应用程序概念辨析 12
1.3.2开发经典的Hello World Windows控制台应用程序 12
1.4开发第一个Web应用程序 14
1.4.1 Web应用程序概述 14
1.4.2开发经典的Hello World Web应用程序 14
1.4.3 Windows应用程序与Web应用程序的异同点 17
1.5本章小结 18
1.6本章习题 18
第2章 浅析C#基本语法 20
2.1 C#中的变量和常量 20
2.1.1变量简介 20
2.1.2变量的作用域和赋值 20
2.1.3声明一个变量 22
2.1.4变量中的值类型 23
2.1.5变量中的引用类型 25
2.1.6变量中的枚举类型 26
2.1.7对变量进行类型转换 28
2.1.8常量定义及其使用 29
2.2 C#中的运算符与表达式 30
2.2.1表达式和运算符简介 30
2.2.2赋值运算符 33
2.2.3算术运算符 34
2.2.4条件运算符 34
2.2.5关系运算符 35
2.2.6逻辑运算符 36
2.2.7移位运算符 37
2.2.8其他重要的运算符 38
2.2.9运算符的优先级 39
2.2.10运算符的重载 40
2.3流程控制语句 42
2.3.1使用选择语句 42
2.3. 2使用循环语句 44
2.3.3使用跳转语句 47
2.4 C#中的命令行编译器 51
2.4.1利用C#编译器进行命令行生成 51
2.4.2设置相关环境与参数 52
2.4.3编译C#类库 53
2.5控制台程序 54
2.5.1 C#语言中的Main方法简介 54
2.5.2 C#语言中的WriteLine方法简介 57
2.6本章小结 58
2.7本章习题 58
第3章C#面向对象编程基础 59
3.1面向对象编程的基本概念 59
3.2类 59
3.2.1类的概念 59
3.2.2声明一个类 60
3.2.3类成员的声明和访问 61
3.3接口 64
3.3.1接口的概念和声明 64
3.3.2接口的定义和实现 64
3.4对象 66
3.4.1对象的声明和访问 66
3.4.2对象和类的关系 67
3.5方法 68
3.5.1方法的声明和参数 68
3.5.2静态方法和非静态方法 69
3.5.3重载方法 71
3.5.4析构函数 72
3.5.5构造函数 73
3.6属性 77
3.6.1属性的有关概念 78
3.6.2如何使用属性 78
3.7本章小结 82
3.8本章习题 82
第4章 面向对象的高级技术 83
4.1封装技术 83
4.1.1封装的作用 83
4.1.2如何实现封装 84
4.2多态技术 86
4.2.1多态的作用 86
4.2.2如何实现多态 86
4.3继承技术 88
4.3.1继承的作用 88
4.3.2如何实现继承 88
4.4匿名方法的定义和使用 89
4.5抽象类与抽象方法 90
4.5.1抽象类与抽象方法概述及声明 90
4.5.2如何使用抽象类与抽象方法 91
4.6异常处理 92
4.6.1异常处理简介 92
4.6.2抛出和捕获异常 92
4.6.3预定义异常 93
4.6.4使用try… catch…finally语句处理异常 94
4.6.5使用throw语句处理异常 94
4.6.6用户自定义异常 95
4.6.7使用finally块 95
4.7域 96
4.7 1域的用途 97
4.7 2域的声明 97
4.8本章小结 97
4.9本章习题 97
第2篇 C#编程基础 100
第5章 字符与字符串常量 100
5.1字符类数据Char 100
5.1.1 Char类数据简介 100
5.1.2使用Char类数据 100
5.2字符串类数据String 102
5.2.1 String类数据简介 102
5.2.2使用String类数据 102
5.2.3比较两个字符串 103
5.2.4格式化字符串 104
5.2.5截取字符串 106
5.3可变字符串类StringBuilder 106
5.3.1定义StringBuilder类 107
5.3.2使用StringBuilder类 107
5.3.3 StringBuilder类与String类的区别 108
5.4本章小结 108
5.5本章习题 108
第6章 数组 110
6.1数组简介 110
6.2一维数组的声明和使用 111
6.3二维数组的声明和使用 112
6.4交错数组的声明及使用 113
6.5数组的接口 114
6.6数组基本操作 115
6.6.1遍历整个数组 115
6.6.2对数组进行排序 116
6.6.3复制数组元素 117
6.6.4合并与拆分数组 118
6.7 ArrayList类 120
6.7.1 ArrayList类简介 120
6.7.2添加与删除ArrayList类元素 121
6.7.3遍历ArrayList类元素 122
6.7.4查找ArrayList类指定元素的索引 124
6.8本章小结 125
6.9本章习题 125
第7章Windows窗体 127
7.1 Form窗体 127
7.1.1 Form窗体简介 127
7.1.2添加和删除一个窗体 127
7.1.3多窗体 130
7.1.4窗体有关属性 131
7.1.5显示与隐藏窗体 132
7.1.6窗体的常用方法 133
7.2继承窗体 134
7.2.1继承窗体简介 134
7.2.2创建继承窗体 134
7.2.3修改继承的控件属性 135
7.3本章小结 136
7.4本章习题 136
第3篇 C# Windows应用程序开发 140
第8章Windows应用程序开发基础 140
8.1 Windows窗体应用程序简介 140
8.2 Windows应用程序的开发界面 140
8.2.1解决方案资源管理器 141
8.2.2工具箱 142
8.2.3工具栏 143
8.3 Windows应用程序开发的一般流程 144
8.4开发一个简单的Windows应用程序 145
8.4.1添加菜单栏、工具栏与状态栏 145
8.4.2为状态栏添加其他控件 148
8.4.3添加相关文本框和按钮 148
8.4.4为添加的控件添加响应事件 149
8.5本章小结 150
8.6本章习题 150
第9章 使用Windows控件、组件和对话框 152
9.1控件简介 152
9.1.1控件的详细分类及作用 152
9.1.2控件的命名规范 152
9.2标准控件 153
9.3公共控件 153
9.3.1利用Label控件显示相关文本或标签 153
9.3.2利用Button控件单击产生动作 155
9.3.3利用TextBox控件输入文本或数字 156
9.3.4利用ListBox控件显示文件列表 158
9.3.5利用TreeView控件制作树目录 160
9.3.6利用DateTimePicker控件选择相关日期 161
9.3.7利用ProgressBar控件显示相关操作进度 163
9.4状态栏和菜单 164
9.4.1利用ToolStrip控件显示工具栏信息 165
9.4.2利用ContextMenuStrip控件制作弹出式菜单 166
9.4.3其他状态栏和菜单控件 167
9.5容器控件 169
9.5.1利用TabControl控件显示多个选项卡 169
9.5.2利用SplitContainer分隔相邻的两个面板 171
9.5.3利用FlowLayoutPanel控件排列内容 171
9.6组件 172
9.6.1利用HelpProvider组件关联提供的上下文帮助 172
9.6.2利用Timer组件定期引发某个事件的发生 174
9.7对话框 175
9.7.1利用 SaveFileDialog对话框将文件保存到指定位置 175
9.7.2利用OpenFileDialog对话框打开指定文件 177
9.8定制控件 179
9.9本章小结 179
9.10本章习题 179
第4篇 C# Web应用程序开发 182
第10章 开发Web应用程序 182
10.1 Web应用程序开发简介 182
10.2创建第一个Web应用程序 183
10.2.1解决方案资源管理器 183
10.2.2工具箱 184
10.2.3生成第一个Web应用程序 184
10.2.4 Web窗体 186
10.2.5开发Web应用程序 188
10.3 Web应用程序常用控件 189
10.3.1标准控件 189
10.3.2验证控件 196
10.3.3导航控件 200
10.3.4登录控件 206
10.4 ASPNET内置对象 209
10.4.1利用Page对象加载或初始化事件 209
10.4.2利用Request对象从浏览器中得到数据 212
10.4.3利用Response对象输出信息到客户端 214
10.4.4利用Server对象访问远程服务器 217
10.4.5利用Application对象生成一个网站全局变量 218
10.4.6利用Cookie对象保存信息 220
10.4.7利用Session对象保存临时会话状态 221
10.4.8利用Cache对象实现缓存 222
10.5本章小结 224
10.6本章习题 224
第11章 跟踪调试Web应用程序 226
11.1跟踪应用程序 226
11.1.1跟踪的定义 226
11.1.2页面级跟踪和应用程序级跟踪 226
11.2调试应用程序 229
11.2.1 Web.Config文件简介 229
11.2.2 Web程序在Web.config文件中的常用配置 231
11.2.3创建Web.config文件 232
11.2.4启动代码级断点调试 233
11.3对应用程序进行错误处理 235
11.3.1错误处理的定义 235
11.3.2利用Page_Error事件处理错误 236
11.3.3利用Application_Error程序控制应用程序级错误 237
11.3.4利用Web.Config控制页面级错误 237
11.4本章小结 238
11.5本章习题 238
第12章 配置Web应用程序 239
12.1应用程序配置简介 239
12.1.1应用程序配置的定义 239
12.1.2应用程序配置的作用 239
12.2配置文件的格式 240
12.2.1配置文件简介 240
12.2.2使用配置文件 240
12.3标准ASP.NET配置节 245
12.3.1 ASP.NET常用配置节简介 245
12.3.2使用标准的ASP.NET配置节 245
12.4为Web应用程序设定本地化信息 247
12.5本章小结 248
12.6本章习题 248
第5篇 C# 数据操作 250
第13章C#数据访问技术 250
13.1 SQL Server数据库基础知识 250
13.1.1数据库概述 250
13.1.2安装SQL Server 2008数据库 251
13.1.3创建及删除数据库 259
13.1.4创建及删除数据表 261
13.1.5 SQL结构化查询语言简介 265
13.1.6 SQL常用语句实例 267
13.2 ADONET数据库简介 270
13.2.1 ADO.NET技术 270
13.2.2 ADO.NET的结构和工作原理 271
13.3数据库连接对象Connection 271
13.3.1 Connection对象简介 271
13.3.2连接一个数据库 272
13.3.3关闭已经存在的连接 273
13.4 SQL语句执行对象Command 273
13.4.1 Command对象简介 274
13.4.2设置数据源的类型 275
13.4.3使用Command对象对数据库执行增加、删除、修改操作 275
13.5数据读取对象DataReader 280
13.5.1 DataReader对象简介 280
13.5.2利用DataReader对象读取数据 281
13.6本章小结 282
13.7本章习题 282
第14章C#数据绑定技术 284
14.1简单介绍数据绑定 284
14.1.1简单数据绑定和复杂数据绑定 284
14.1.2绑定变量 285
14.2网格视图控件 GridView 285
14.2.1 DataGrid控件和GridView控件的异同点 285
14.2.2 GridView控件 286
14.2.3在GridView控件中修改、删除、选择数据 287
14.2.4在GridView控件中对数据进行浏览 289
14.3利用列表控件进行数据绑定 291
14.3.1将HashTable绑定到RadioButtonList控件 291
14.3.2将DataReader绑定到ListBox控件 293
14.3.3将DataSet绑定到DropDownList控件 295
14.3.4将DataTable绑定到CheckBoxList控件 297
14.4其他数据绑定控件 299
14.4.1数据列表:DataList控件 300
14.4.2单记录显示控件:FormView控件 302
14.4.3循环控件:Repeater控件 304
14.5本章小结 306
14.6本章习题 306
第15章XML编程 308
15.1 .NET框架中的XML 308
15.1.1 XML的有关概念 308
15.1.2在XML文档中的对象模型 310
15.1.3 System.Xml命名空间 312
15.1.4 System.Xml命名空间中的类 314
15.1.5 XML架构对象模型 316
15.2读写流格式的XML文档 320
15.2.1 XmITextReader类 320
15.2.2 XmlTextWriter类 323
15.3读取XML文档 323
15.3.1读取XML节点 323
15.3.2使用XmIReader读取XML 324
15.3.3使用XmIDocument读取XML 324
15.4在DOM中验证XML文档 326
15.5修改XML文档 329
15.5.1创建一个新的DOM节点 329
15.5.2为DOM节点创建属性 330
15.5.3修改DOM节点 332
15.5.4删除DOM节点 333
15.6 XML数据转换 334
15.6.1将字符串转换为NET Framework数据类型 334
15.6.2将.NET Framework类型转换为字符串 335
15.7集成数据对象DataSet 335
15.7.1使用DataSet加载XML数据 336
15.7.2使用XmIDataDocument加载关系数据 337
15.8本章小结 338
15.9本章习题 338
第6篇 C#高级编程 340
第16章 文件操作和注册表操作 340
16.1文件操作 340
16.1.1 .NET中文件和文件夹的类 340
16.1.2移动、复制、删除文件和文件夹 348
16.1.3文件流 351
16.1.4读取与写入文件 351
16.1.5读写二进制文件 355
16.1.6读取驱动器信息 361
16.2注册表操作 363
16.2.1注册表简介 363
16.2.2 Registry类的使用 364
16.2.3 RegistryKey类的使用 366
16.2.4写入注册表 369
16.2.5读取注册表 370
16.3本章小结 371
16.4本章习题 372
第17章 线程 373
17.1线程的基本概念 373
17.1.1单线程 373
17.1.2多线程 373
17.2线程中的基本问题 375
17.2.1使用线程中的Thtead类 375
17.2.2创建一个线程 376
17.2.3给线程传递数据 377
17.2.4挂起与恢复线程 378
17.2.5后台线程详细操作 379
17.2.6终止与休眠线程 380
17.2.7线程的优先级 381
17.2.8使两线程同步 383
17.3线程中的高级问题 384
17.3.1线程中的竞态条件问题 385
17.3.2线程中的死锁问题 386
17.4本章小结 387
17.5本章习题 387
第7篇 C#综合案例 390
第18章 制作Web信息发布系统 390
18.1系统总体架构概述 390
18.2系统需求分析 390
18.2.1系统功能结构分析 391
18.2.2网站架设 392
18.3数据库详细设计 393
18.4系统文件详细结构设计 394
18.5编写网站配置文件 395
18.6前台页面详细开发流程 396
18.6.1结构布局分析 396
18.6.2实现导航 396
18.6.3制作推荐信息页面 397
18.6.4制作信息搜索页面 402
18.6.5制作信息的详细阅读页面 404
18.7制作后台管理模块 406
18.7.1后台功能需求分析 406
18.7.2制作管理员登录模块 406
18.7.3制作信息发布模块 407
18.7.4制作信息管理模块 411
18.7.5制作登录认证模块 415
18.7.6制作安全退出系统模块 416
18.8本章小结 416