第1章 从零认识C 1
1.1 C#简介 1
1.2 .NET概述 2
1.3 C#与.NET的关系 2
1.4 .NET Framework的体系结构 2
1.4.1 公共语言运行库 3
1.4.2 .NET Framework类库 4
1.5 Visual Studio 2012简介 4
1.5.1 Visual Studio 2012新功能 5
1.5.2 安装Visual Studio 2012 6
1.5.3 卸载Visual Studio 2012 8
1.5.4 启动Visual Studio 2012 10
1.6 第一个C#程序 11
1.6.1 编写第一个C#程序 11
1.6.2 编译和运行C#控制台应用程序 12
1.7 应用程序结构 13
1.7.1 控制台应用程序文件夹结构 13
1.7.2 C#程序结构 13
小结 19
第2章 C#基础知识 20
2.1 变量与常量 20
2.1.1 C#中的变量 20
2.1.2 C#中的常量 21
2.1.3 变量与常量的初始化 23
2.2 数据类型的分类 24
2.3 运算符和表达式 25
2.3.1 运算符的分类 25
2.3.2 运算符的优先级 30
2.4 字符与字符串的处理 30
2.4.1 char的使用 30
2.4.2 字符串类String的使用 35
2.4.3 可变字符串类StringBuilder的使用 52
小结 54
第3章 流程控制语句的应用 55
3.1 选择语句的应用 55
3.1.1 简单的if条件语句 55
3.1.2 if…else…条件语句 55
3.1.3 if…else if…else多分支语句 56
3.1.4 嵌套if语句 57
3.1.5 switch多分支语句 58
3.1.6 三元运算符 59
3.2 迭代语句的应用 60
3.2.1 for循环语句 60
3.2.2 while循环语句 62
3.2.3 do…while循环语句 63
3.2.4 foreach循环语句 64
3.2.5 for、foreach、while和do…while的区别 66
3.26 双重循环 66
3.3 跳转语句的应用 67
3.3.1 break跳转语句 68
3.3.2 continue跳转语句 69
3.3.3 return跳转语句 70
3.3.4 goto语句 72
3.3.5 各跳转语句的区别 73
小结 73
第4章 数组与集合、结构与枚举的应用 74
4.1 数组概述 74
4.2 一维数组的声明和使用 74
4.3 二维数组的声明和使用 76
4.4 ArrayList类 77
4.4.1 ArrayList类的声明与初始化 77
4.4.2 ArrayList的使用 77
4.5 Hashtable 86
4.5.1 Hashtable的属性及其方法 86
4.5.2 Hashtable元素的添加 87
4.5.3 Hashtable元素的删除 87
4.5.4 Hashtable元素的遍历 88
4.5.5 Hashtable元素的查找 88
4.6 枚举 90
4.6.1 枚举的声明 90
4.6.2 枚举类型与基本类型的转换 91
4.7 结构类型 92
小结 93
第5章 面向对象编程的基本概念及应用 94
5.1 类 94
5.1.1 类的概述 94
5.1.2 类的面向对象的概述 94
5.1.3 类的声明及其类成员 95
5.1.4 构造函数和析构函数 98
5.1.5 this关键字 100
5.1.6 属性 101
5.2 继承 103
5.2.1 继承简述 103
5.2.2 抽象类及类成员 105
5.3 接口 105
5.3.1 接口的介绍及声明 106
5.3.2 实现接口 106
5.4 多态 108
5.5 抽象类与抽象方法的应用 110
5.5.1 抽象类的声明 110
5.5.2 抽象方法的声明 110
5.5.3 如何使用抽象类与抽象方法 111
5.6 密封类与密封方法 113
小结 114
第6章 索引器、委托、事件和Lambda表达式的应用 115
6.1 索引器 115
6.1.1 索引器的概述及声明 115
6.1.2 索引器的重载 117
6.2 委托 119
6.2.1 委托的基本用法 119
6.2.2 方法与委托相关联 121
6.3 事件 122
6.3.1 事件处理程序 123
6.3.2 事件的应用 124
6.4 Lambda表达式 125
6.4.1 匿名方法的简介 126
6.4.2 Lambda表达式简介 126
6.4.3 表达式Lambda的应用 126
6.4.4 语句Lambda的应用 127
6.4.5 Lambda表达式中的变量范围 127
小结 128
第7章 LINQ应用 129
7.1 LINQ基础知识 129
7.1.1 简单的查询 129
7.1.2 函数的支持 131
7.1.3 使用混合的查询和函数语法 132
7.2 LINQ子句 133
7.2.1 where子句的应用 134
7.2.2 orderby子句的应用 135
7.2.3 select子句的应用 137
7.2.4 多个from子句的应用 139
7.2.5 group子句的应用 140
7.2.6 into子句的应用 142
7.2.7 let子句的应用 144
7.2.8 join子句的应用 146
小结 148
第8章 调试和异常处理 149
8.1 程序调试概述 149
8.2 程序错误与程序调试 149
8.2.1 程序错误 149
8.2.2 程序调试 150
8.3 异常类与异常处理 155
8.3.1 异常类 155
8.3.2 异常处理 156
小结 165
第9章 WinForm应用程序开发基础 166
9.1 Windows应用程序的开发界面 166
9.1.1 创建Windows程序 166
9.1.2 解决方案资源管理器 167
9.1.3 窗体设计器和代码编辑器 169
9.1.4 工具箱 169
9.1.5 工具栏 169
9.2 多文档界面 170
9.2.1 多文档界面设置及窗体属性 170
9.2.2 窗体传值技术 172
9.3 开发一个简单的Windows应用程序 181
9.3.1 菜单栏 182
9.3.2 工具栏 184
9.3.3 状态栏 186
小结 187
第10章 WinForms基本控件 188
10.1 Control类 188
10.1.1 Control类的属性 188
10.1.2 Control类的事件 189
10.2 标签控件(Label控件) 192
10.3 按钮控件(Button控件) 193
10.3.1 Button控件的常用属性 193
10.3.2 Button控件的应用 194
10.4 文本框控件(TextBox控件) 198
10.4.1 TextBox控件的常用属性 198
10.4.2 TextBox控件的常用事件 199
10.4.3 TextBox控件的简单应用 200
10.5 ListBox控件和CheckedListBox控件 201
10.5.1 ListBox控件的属性 201
10.5.2 ListBox控件的方法 202
10.5.3 ListBox控件的事件 203
10.5.4 ListBox控件的常见用法 203
10.6 消息对话框 206
小结 208
第11章 WinForms高级控件 209
11.1 单选按钮(RadioButton) 209
11.1.1 RadioButton类的常见属性和事件 209
11.1.2 RadioButton的用法 210
11.2 图片框控件(PictureBox) 211
11.2.1 PictureBox类的常见属性和事件 212
11.2.2 PictureBox控件实例 212
11.3 选项卡控件(TabControl) 215
11.3.1 TabControl类的常见属性和事件 215
11.3.2 TabControl控件实例 215
11.4 进度条控件(ProgressBar) 217
11.4.1 ProgressBar类的常见属性 218
11.4.2 ProgressBar控件实例 218
11.5 ImageList控件 220
11.5.1 ImageList类的常见属性 220
11.5.2 ImageList控件实例 220
11.6 ToolStrip控件 222
11.6.1 ToolStrip类的常见属性 222
11.6.2 ToolStrip相关的伴随类 223
11.6.3 ToolStrip中的项 223
11.6.4 创建工具栏 224
11.7 ListView控件 225
11.7.1 ListView类的常见属性、事件和方法 226
11.7.2 ListView控件实例 228
11.8 TreeView控件 231
11.8.1 TreeView类的属性 231
11.8.2 TreeNode类的属性 232
11.8.3 TreeView控件实例 233
11.9 MonthCalendar控件 235
11.9.1 MonthCalendar类的属性 235
11.9.2 MonthCalendar控件实例 236
11.10 DataTimePicker控件 237
11.10.1 DataTimePicker类的属性 238
11.10.2 DataTimePicker控件实例 238
小结 240
第12章 文件及数据流技术 241
12.1 System.IO命名空间 241
12.1.1 System.IO命名空间中包含的类 241
12.1.2 File类的常用方法 242
12.1.3 Filelnfo类的方法 244
12.1.4 Directory类的方法 245
12.1.5 File类的使用 247
12.1.6 Directory类的使用 250
12.2 FileStream文件流类 252
12.2.1 FileMode枚举对象的成员 252
12.2.2 FileAccess枚举对象的成员 253
12.2.3 FileStream类的常用属性 253
12.2.4 FileStream类的常用方法 253
12.3 StreamReader类和Stream Writer类 254
12.3.1 StreamReader类 254
12.3.2 StreamWriter类 255
12.3.3 StreamReader类与StreamWriter类的使用 257
12.4 BinaryReader类和Binary Writer类 259
12.4.1 BinaryReader类 259
12.4.2 BinaryWriter类 260
12.4.3 BinaryReader类与BinaryWriter类的使用 261
小结 262
第13章 WPF编程基础 263
13.1 WPF概述 263
13.2 WPF体系结构 264
13.3 WPF的特点 266
13.4 XAML 267
13.4.1 XAML简述 267
13.4.2 XAML的优点 267
13.4.3 XAML基本语法 268
13.4.4 Application对象 271
13.5 WPF布局控件简述 273
13.5.1 Canvas控件 273
13.5.2 DockPanel控件 276
13.5.3 Grid控件 277
13.5.4 StackPancl控件 278
13.5.5 WrapPanel控件 279
小结 280
第14章 ADONET操作数据库 281
14.1 ADO.NET简介 281
14.1.1 ADO.NET的作用 282
14.1.2 ADO.NET的主要组件 282
14.2 Connection对象 283
14.2.1 SqlConnection类的常用属性 283
14.2.2 SqlConnection类的常用方法 284
14.3 Command对象 285
14.3.1 SqlCommand类的创建 285
14.3.2 SqlCommand类的常用属性 285
14.3.3 SqlCommand类的常用方法 286
14.3.4 SqlCommand类的使用 286
14.4 事务处理 289
14.4.1 事务的特性 289
14.4.2 执行事务的步骤 289
14.4.3 事务类SqlTransaction类的使用 289
14.5 DataReader对象 291
14.5.1 SqlDataReader类的属性 292
14.5.2 SqlDataReader类的方法 292
14.5.3 SqlDataReader类的使用 295
14.6 DataSet对象和DataAdapter对象 297
14.6.1 DataSet对象 297
14.6.2 DataAdapter对象 301
14.6.3 DataSet和SqlDataAdapter的应用 303
14.7 DataView对象 304
14.7.1 DataView类的属性 305
14.7.2 DataView类的方法 305
14.7.3 DataView类的使用 306
14.8 DataGridView控件显示和操作数据 309
14.8.1 DataGridView类的属性 310
14.8.2 DataGridview控件的案例教学 311
小结 315
第15章 网络编程技术 316
15.1 HTTP网络编程 316
15.1.1 System.NET命名空间 316
15.1.2 WebClient类 318
15.1.3 WebRequest类和WebResponse类 325
15.1.4 WebBrowser浏览器控件 329
15.2 套接字网络编程 338
15.2.1 TcpClient类和TcpListener类 338
15.2.2 Socket类 343
15.2.3 UDPClient类 350
小结 355
第16章 XML编程技术 356
16.1 XML基础 356
16.2 XML语法 357
16.2.1 XML标记、元素和属性 357
16.2.2 XML的语法规则 358
16.2.3 XML名称命名规则 360
16.3 操作XML文档 361
16.3.1 XML文档对象模型概述 361
16.3.2 XML文档的 DOM实现 361
16.3.3 XML文档的应用实例 362
16.3.4 装载XML文档 362
16.3.5 遍历XML文档 363
16.3.6 查询特殊元素和节点 364
16.3.7 修改XML文档 365
16.3.8 Save方法 365
16.4 综合实例 366
小结 370
第17章 注册表技术 371
17.1 注册表基础知识 371
17.1.1 简述注册表 371
17.1.2 展示注册表的结构 371
17.2 操作注册表 372
17.2.1 读取注册表中信息 373
17.2.2 创建和修改注册表信息 373
17.2.3 删除注册表中信息 374
17.2.4 情景应用:利用注册表设计注册软件 375
17.3 实战练习:添加“用记事本打开”快捷菜单项 377
小结 378
第18章 线程的基础知识 379
18.1 线程简述 379
18.1.1 单线程 379
18.1.2 多线程 380
18.1.3 线程的生命周期 381
18.2 线程调度 382
18.2.1 简述Thread类 382
18.2.2 创建线程 383
18.2.3 挂起与恢复线程 384
18.2.4 线程休眠 385
18.2.5 终止与阻止线程 387
18.2.6 情景应用:使用多线程制作端口扫描工具 387
18.3 线程同步 389
18.3.1 简述线程同步机制 389
18.3.2 使用lock关键字实现线程同步 391
18.3.3 使用Monitor类实现线程同步 391
18.4 综合实例 393
小结 402
第19章 Windows应用程序的打包及部署 403
19.1 安装工具简介 403
19.2 创建部署项目 403
19.3 简单的打包和部署 404
19.4 自定义的打包程序 411
小结 412
第20章 Windows安全性 413
20.1 Windows应用程序的安全性概述 413
20.1.1 如何创建、卸载域 413
20.1.2 如何实现域间的通信 414
20.2 身份验证和授权 414
20.2.1 标识和Principal 416
20.2.2 角色 417
20.2.3 声明基于角色的安全性 418
20.3 加密 418
20.3.1 签名 421
20.3.2 交换密钥和安全传输 422
20.4 资源的访问控制 423
20.5 代码访问安全性 424
20.5.1 声明式安全性 424
20.5.2 强制安全性 424
20.5.3 请求权限 425
小结 425