第一篇 入门必备 1
第1章 .NET Framework和C#简介 1
1.1 .NET Framework与C# 1
1.1.1 C#概述 2
1.1.2.NET Framework 3.5概述 2
1.1.3公共语言运行时(CLR) 4
1.1.4.NET Framework类库 5
1.1.5程序集 6
1.1.6命名空间 8
1.2部署.NET Framework环境 11
1.2.1 Visual Studio 2008简介 11
1.2.2安装Visual Studio 2008 12
1.2.3了解Visual Studio 2008工作环境 16
1.3创建第一个C#程序 18
1.4 C#命令行编译器 20
1.4.1命令行生成 20
1.4.2设置环境变量和帮助 21
1.4.3 C#编译器选项 22
1.4.4编译C#类库 23
第2章 C#基础语法 25
2.1 C#语法 25
2.1.1变量 25
2.1.2常量 27
2.1.3注释 27
2.1.4 C#预处理器指令 29
2.2控制语句 31
2.2.1选择语句 31
2.2.2循环语句 33
2.2.3跳转语句 35
2.3预定义数据类型 36
2.3.1值类型和引用类型 36
2.3.2 CTS类型 37
2.4控制台程序 39
2.4.1 Main()方法 39
2.4.2 WriteLine()方法 41
2.5 C# 3.5语言功能 42
2.5.1隐含类型化的局部变量 42
2.5.2扩展方法 44
2.5.3对象与集合初始化器 45
2.5.4匿名类型 46
2.5.5 Lambda表达式 47
2.5.6自动属性 48
第3章 运算符和类型强制转换 49
3.1运算符 49
3.1.1赋值运算符 50
3.1.2算术运算符 51
3.1.3条件运算符 52
3.1.4简化运算符 52
3.1.5 checked和unchecked运算符 54
3.1.6关系运算符 57
3.1.7 sizeof运算符和typeof运算符 59
3.1.8可空类型和运算符 60
3.1.9空接合运算符 61
3.1.10运算符的优先级 61
3.2类型的安全性 62
3.2.1类型转换 62
3.2.2装箱和拆箱 65
3.3对象的相等比较 67
3.3.1引用类型的相等比较 67
3.3.2值类型的相等比较 68
3.4运算符重载 69
3.4.1运算符的工作方式 69
3.4.2运算符重载的示例:Vector结构 70
3.5用户定义的数据类型转换 75
3.5.1执行用户定义的类型转换 75
3.5.2多重数据类型转换 80
第4章 C#面向对象编程 83
4.1类和对象 83
4.1.1面向对象概述 84
4.1.2类的基本概念 85
4.2类成员 87
4.2.1数据成员 87
4.2.2定义方法 88
4.2.3定义属性 94
4.3构造函数和析构函数 95
4.3.1构造函数 95
4.3.2析构函数 98
4.4结构 99
4.5继承 100
4.5.1定义派生类 100
4.5.2虚方法与调用基类函数 101
4.5.3隐藏基类方法 103
4.5.4抽象类与抽象方法 104
4.5.5密封类与密封方法 105
4.6接口 106
4.6.1定义和实现接口 106
4.6.2接口的继承 108
第二篇 编程基础 111
第5章 数组和集合 111
5.1数组 111
5.1.1数组的使用 112
5.1.2 Array类 114
5.1.3数组接口 118
5.2集合 120
5.2.1集合接口 120
5.2.2列表 121
5.2.3队列和栈 122
5.2.4链表 125
5.2.5有序表 127
5.2.6字典 129
5.2.7位数组 134
5.3枚举 136
5.3.1 IEnumerator接口 136
5.3.2 yield语句 137
第6章 字符串和正则表达式 139
6.1 System.Sting类 139
6.1.1创建字符串 140
6.1.2 StringBuilder成员 143
6.1.3格式化字符串 144
6.2正则表达式 148
6.2.1正则表达式概述 148
6.2.2 RegularExpressionsPlayaround示例 150
6.2.3显示结果 152
6.2.4匹配、组合和捕获 153
第7章 结构化异常处理 155
7.1结构化异常处理的基本知识 155
7.1.1抛出和捕获异常 156
7.1.2嵌套try语句 158
7.2异常类 159
7.2.1基于类型筛选异常 160
7.2.2 System.Exception类的成员 161
7.2.3预定义异常 163
7.2.4抛出预定义异常示例 164
7.3自定义异常 165
7.4 finally块 167
第8章 委托与事件 168
8.1委托 168
8.1.1委托概述 168
8.1.2定义委托 169
8.1.3使用委托 169
8.1.4多重委托 172
8.1.5匿名方法和Lambda表达式 173
8.1.6委托与接口 174
8.2事件 175
8.2.1定义事件 175
8.2.2委托与事件示例 176
第三篇 高级课题 181
第9章 Windows窗体 181
9.1创建Windows窗体应用程序 181
9.2 Control类 184
9.2.1大小和位置 184
9.2.2外观 185
9.2.3用户交互操作 185
9.2.4 Windows功能 185
9.3标准控件和组件 186
9.3.1文本控件 186
9.3.2 Button.RadioButton和CheckBox控件 189
9.3.3 ComboBox.ListBox和CheckedListBox控件 192
9.3.4 ListView控件 194
9.3.5容器控件 197
9.3.6 ImageList组件和PictureBox控件 199
9.3.7 DateTimePicker和ProgressBar控件 200
9.3.8其他控件 202
9.3.9 ErrorProvider和HelpProvider组件 203
9.4窗体 205
9.4.1 Form类 205
9.4.2多文档界面 207
9.4.3定制控件 208
第10章 处理XML 210
10.1 .NET框架中的XML 210
10.1.1 .NET支持的XML标准 211
10.1.2 System.Xml命名空间 211
10.1.3在.NET中使用MSXML 212
10.1.4使用System.Xml类 215
10.2读写流格式的XML 215
10.2.1使用XmlReader类 215
10.2.2使用XmlWriter类 219
10.3在.NET中使用DOM 221
10.4使用XPathNavigator类 224
10.4.1 System.Xml.XPath命名空间 225
10.4.2 System.Xml.Xsl命名空间 227
10.5 XML和ADO.NET 232
10.5.1将ADO.NET数据转换为XML文档 232
10.5.2把XML文档转换为ADO.NET数据 234
第11章 文件和注册表操作 237
11.1管理文件系统 237
11.1.1 Directory类和DirectoryInfo类 238
11.1.2 File类和FileInfo类 242
11.1.3 Path类 247
11.1.4示例:文件浏览器 248
11.2读写文件 251
11.2.1流 252
11.2.2读取文件 252
11.2.3写入文件 254
11.2.4读写二进制文件 255
11.3读取驱动器信息 259
11.4读写注册表 261
11.4.1 Registry类 261
11.4.2 RegistryKey类 262
第12章 .NET数据访问 264
12.1 ADO.NET概述 264
12.1.1 ADO.NET概述 264
12.1.2命名空间 265
12.1.3共享类 266
12.1.4数据库特定的类 267
12.2使用数据库连接 267
12.2.1管理连接字符串 267
12.2.2高效地使用连接 271
12.3命令 273
12.3.1执行命令 273
12.3.2调用存储过程 277
12.3.3事务处理 278
12.4数据读取器SqlDataReader 282
12.5数据集 284
12.5.1 DataSet 284
12.5.2使用DataTable和DataVeiw类 284
12.5.2数据适配器填充DataSet 286
12.5.3从XML中给DataSet填充数据 288
12.5.4通过数据适配器更新DataSet 289
12.5.5给DataSet添加数据 290
12.5.6对DataSet排序和筛选 291
第13章 查看.NET数据 293
13.1 DataGridView控件 293
13.1.1 DataGridView控件显示数据 293
13.1.2 DataGridView样式 296
13.1.3 DataGridView控件的单元格、列和行的功能 299
13.2数据绑定 302
13.2.1数据源 302
13.2.2简单绑定 305
13.3 Visual Studio.NET和数据访问 306
13.3.1从服务器资源管理器创建一个连接 306
13.3.2设计器与DataGridView控件结合使用 309
13.3.3使用组件绑定数据 310
第14章 与SQL Server 2008交互 313
14.1 .NET运行库的主机 313
14.2 Microsoft.SqlServer.Server 314
14.3用户定义的合计函数 315
14.3.1创建用户定义的合计函数 315
14.3.2使用用户定义的合计函数 317
14.4存储过程 319
14.4.1创建存储过程 319
14.4.2使用存储过程 320
14.5用户自定义的函数 322
14.5.1创建用户自定义的函数 322
14.5.2使用用户自定义的函数 323
14.6触发器 325
14.6.1创建触发器 325
14.6.2使用触发器 326
14.7用户定义的类型 327
14.7.1创建用户定义的类型 327
14.7.2使用用户定义的类型 330
第15章 基于.NET Framework编程 333
15.1 Windows服务 333
15.1.1 Windows服务概述 333
15.1.2 Windows服务的体系结构 334
15.1.3 System.ServiceProcess命名空间 336
15.2线程 336
15.2.1线程概述 336
15.2.2使用Thread类 338
15.3同步 340
15.3.1同步问题的含义 340
15.3.2同步问题 341
15.4内存管理 344
15.4.1值数据类型 344
15.4.2引用数据类型 346
15.4.3垃圾收集 347
15.5程序集 348
15.5.1程序集的含义 348
15.5.2程序集的结构 350
15.5.3跨语言支持 355
第四篇 Web开发 367
第16章 构建ASP.NET Web应用程序 367
16.1 ASP.NET简介 367
16.1.1支持编译型语言 367
16.1.2引入服务器端控件 368
16.1.3程序代码与页面分离 368
16.2第一个ASP.NET页面 368
16.2.1生成ASP.NET应用程序 369
16.2.2 Web窗体 370
16.2.3开发应用程序 371
16.3 ASP.NET内置对象 372
16.3.1 Page对象 372
16.3.2 Server对象 373
16.3.3 Request和Response对象 374
16.3.4 Application.Session和Cookies对象 375
16.4 ASP.NET Ajax 382
16.4.1 ASPNET Ajax概述 382
16.4.2 ASP.NET Ajax工作原理 383
16.4.3 ASP.NET Ajax控件 383
第17章 ASP.NET应用 387
17.1基础应用 387
17.1.1标准控件 387
17.1.2验证控件 389
17.1.3服务器控件应用 390
17.2数据库应用 395
17.2.1数据控件概述 395
17.2.2应用实例 395
17.3站点导航 403
17.3.1 SiteMapPath控件 403
17.3.2 Menu控件 406
17.3.3 TreeView控件 410
17.4配置应用程序 413
第五篇 使用.NET Framework 3.5 415
第18章 .NET Framework 3.5组件 415
18.1 WCF 415
18.1.1 WCF概述 416
18.1.2创建WCF 416
18.1.3创建服务合同 417
18.1.4实现服务 418
18.1.5服务主机 419
18.1.6创建客户程序 423
18.2 WPF 425
18.2.1 WPF概述 426
18.2.2创建WPF应用程序 427
18.2.3控件 430
18.2.4布局 432
第19章 LINQ介绍 437
19.1 LINQ概述 437
19.2 LINQ查询 438
19.2.1查询表达式 438
19.2.2 LINQ基本查询操作 438
19.3 LINQ to Object介绍 446
19.4 LINQ to SQL对象模型 447
19.4.1使用对象关系设计器 447
19.4.2使用DataContext方法查询数据库数据 450
19.4.3跨关系多表查询 453
19.4.4 LINQ to SQL操作数据 455