标题：C# 4.0从入门到精通（视频实战版）
基本信息
作者： 黄胜忠    
丛书名： 程序员书库 
出版社：机械工业出版社 
ISBN：9787111324713
上架时间：2011-1-21
出版日期：2011 年1月
开本：16开
页码：527
内容简介
本书以visual studio 2010为开发环境，全面而细致地介绍了c#的语法和编程技术，书中对每个知识点和技术要点都给予了翔实的例程。本书共分为六篇，循序渐进地讲述了c#4．0的语法和visualstudio 2010的使用。从基本概念到具体实践，从语法到数据的操作，从软件环境到具体的项目开发，都进行了细致的阐述，并对具体知识点进行了详细的实例讲解。
本书含有大量实例，详细描述各个语法点以及代码编写技巧。本书适合正在学习或使用c#的用户阅读，并可作为开发人员的参考手册。 
目录
丛书序 
前言 
第一篇　 基础语法篇 
第1章　 c# 4.0初步体验 1 
1.1　 初步了解c# 1 
1.1.1　 c#的发展历程 1 
1.1.2　 c#能做什么 2 
1.2　 .net 框架和c# 2 
1.2.1　 什么是.net框架 2 
1.2.2　 .net的编译技术 3 
1.3　 .net集成开发环境visual studio 2010 3 
1.3.1　 visual studio 2010简介 4 
1.3.2　 安装visual studio 2010 4 
1.3.3　 visual studio 2010的功能 5 
1.4　 用visual studio 2010创建和编译c#程序 8 
1.4.1　 创建一个控制台应用程序 8 
1.4.2　 编译和执行 9 
1.4.3　 认识控制台应用程序的基本结构 9 
1.5　 认识c#程序 10 
1.5.1　 命名空间的定义和使用 10 
.1.5.2　 using关键字 11 
1.5.3　 class关键字 11 
1.5.4　 main方法 11 
1.5.5　 给c#程序添加说明——注释 11 
1.6　 小结 13 
1.7　 常见面试题分析 13 
1.8　 本章习题 14 
第2章　 c#编程基础 15 
2.1　 变量和常量 15 
2.1.1　 变量的声明 15 
2.1.2　 变量的命名规范 16 
2.1.3　 变量的赋值 16 
2.1.4　 常量的定义和使用 16 
2.1.5　 var类型的变量 17 
2.2　 运算符和表达式 19 
2.2.1　 二元运算符 19 
2.2.2　 一元运算符 21 
2.2.3　 三元运算符 23 
2.2.4　 简化运算符的表达 23 
2.2.5　 运算符优先级 23 
2.3　 值类型和引用类型 24 
2.4　　数组—同类的组织 24 
2.4.1　 什么是数组 25 
2.4.2　 数组的初始化 26 
2.4.3　 使用数组的索引 26 
2.5　 枚举—避免不合理赋值 27 
2.5.1　 什么是枚举 27 
2.5.2　 如何使用枚举 28 
2.6　 c#中实现数据转换 29 
2.6.1　 隐式数据类型转换 29 
2.6.2　 显式数据类型转换 30 
2.6.3　 字符串与数值之间的转换 31 
2.6.4　 用convert类实现数据类型转换 31 
2.7　 控制台的输入和输出—console类 33 
2.7.1　 输出到控制台 33 
2.7.2　 从控制台输入 33 
2.8　 小结 35 
2.9　 常见面试题分析 35 
2.10　 本章习题 36 
第3章　 c#语句结构 37 
3.1　 c#中的条件判断 37 
3.1.1　 根据条件判断要走的路—if 结构 37 
3.1.2　 在多种情况下选择自己的路—switch结构 43 
3.1.3　 常见错误 45 
3.2　 c#中的循环结构 47 
3.2.1　 先判断后执行—while循环 47 
3.2.2　 先执行后判断—do…while循环 47 
3.2.3　 先判断后执行的另一种方式—for循环 48 
3.2.4　 简单利索的foreach循环 49 
3.2.5　 continue和break语句 50 
3.2.6　 嵌套循环 51 
3.3　 字符串应用—string类 52 
3.3.1　 常用的字符串处理方法 52 
3.3.2　 格式化数据的输出方法 54 
3.4　 简单应用—冒泡排序 56 
3.5　 小结 59 
3.6　 常见面试题分析 60 
3.7　 本章习题 60 
第二篇　 高级语法篇 
第4章　 面向对象 63 
4.1　 类 63 
4.1.1　 面向对象的概念 63 
4.1.2　 定义一个类 65 
4.1.3　 类成员的修饰符 67 
4.1.4　 类的构造函数 69 
4.1.5　 类的析构函数 71 
4.1.6　 结构与类的区别 72 
4.1.7　 类的继承 74 
4.2　 接口 77 
4.2.1　 接口的基本概念 78 
4.2.2　 接口的继承 79 
4.2.3　 接口的特点 85 
4.3　 域和属性 85 
4.3.1　 域 85 
4.3.2　 静态域和非静态域 87 
4.3.3　 只读域 88 
4.3.4　 域的初始化 89 
4.3.5　 属性 90 
4.3.6　 访问属性值 92 
4.4　 索引器 94 
4.4.1　 索引器的基本概念 94 
4.4.2　 索引器的使用 96 
4.4.3　 索引器与属性的区别 97 
4.5　 迭代器 97 
4.5.1　 foreach语句 98 
4.5.2　 迭代器的使用 100 
4.6　 小结 103 
4.7　 常见面试题分析 103 
4.8　 本章习题 105 
第5章　 继承性、多态性和命名空间 106 
5.1　 继承 106 
5.1.1　 继承的概念 106 
5.1.2　 继承的机制 109 
5.2　 多态性 109 
5.2.1　 虚方法 110 
5.2.2　 抽象类 112 
5.2.3　 抽象方法 113 
5.2.4　 密封类和密封方法 117 
5.2.5　 方法的隐藏 118 
5.3　 类型的转换 119 
5.3.1　 is关键字 120 
5.3.2　 转换机制 122 
5.3.3　 as关键字 124 
5.3.4　 封箱和拆箱 125 
5.4　 异常处理 126 
5.4.1　 异常处理基础 127 
5.4.2　 异常的捕获 127 
5.4.3　 throws关键字 130 
5.4.4　 finally关键字 132 
5.4.5　 异常的使用注意事项 133 
5.5　 命名空间 133 
5.5.1　 声明命名空间 133 
5.5.2　 导入命名空间 135 
5.5.3　 使用指示符 136 
5.6　 小结 137 
5.7　 常见面试题分析 137 
5.8　 本章习题 137 
第6章　 继续学习面向对象 138 
6.1　 委托 138 
6.1.1　 委托的基本概念 138 
6.1.2　 委托的综合应用 139 
6.1.3　 多播委托 141 
6.2　 事件 142 
6.2.1　 事件的模型 143 
6.2.2　 事件声明 143 
6.2.3　 事件委托 143 
6.2.4　 事件处理程序 144 
6.2.5　 触发事件 144 
6.2.6　 事件存取器 144 
6.2.7　 事件的综合应用 145 
6.3　 c#预处理器指令 147 
6.3.1　 预处理命令 147 
6.3.2　 预处理命令的运用 148 
6.4　 小结 149 
6.5　 常见面试题分析 149 
6.6　 本章习题 150 
第7章　 c#语言的一些特性 151 
7.1　 扩展方法 151 
7.2　 c#的复杂特性 155 
7.2.1　 自动属性 156 
7.2.2　 对象初始化器 157 
7.2.3　 匿名类型 158 
7.2.4　 lambda表达式 159 
7.2.5　 代码片段 159 
7.2.6　 智能感应 160 
7.3　 小结 162 
7.4　 常见面试题分析 162 
7.5　 本章习题 162 
第三篇　 c#数据操作篇 
第8章　 操作字符和字符串 163 
8.1　 字符 163 
8.1.1　 char的使用 163 
8.1.2　 字符的比较 165 
8.2　 字符串 167 
8.2.1　 字符串的基本概念 167 
8.2.2　 字符串的查找 169 
8.2.3　 字符串的比较 171 
8.2.4　 字符串的插入 172 
8.2.5　 字符串的删除 173 
8.2.6　 子字符串的获得 174 
8.2.7　 字符串的替换 175 
8.2.8　 字符串的其他方法 176 
8.3　 可变字符串 176 
8.3.1　 stringbuilder的简单介绍 176 
8.3.2　 stringbuilder的作用 177 
8.4　 理解编码 178 
8.4.1　 字符集的编码问题 179 
8.4.2　 c#对字符集的支持 179 
8.4.3　 asciiencoding类实现转换 181 
8.4.4　 unicodeencoding类实现转换 182 
8.4.5　 utf7encoding类实现转换 183 
8.4.6　 utf8encoding类实现转换 184 
8.5　 小结 185 
8.6　 常见面试题分析 185 
8.7　 本章习题 186 
第9章　 数组和集合 187 
9.1　 数组 187 
9.1.1　 应用一维数组 187 
9.1.2　 应用二维数组和多维数组 188 
9.1.3　 应用交错数组 190 
9.2　 数组的使用 191 
9.2.1　 数组的简单应用 191 
9.2.2　 数组元素的清空 194 
9.2.3　 数组元素的查找 195 
9.2.4　 数组元素的排序 196 
9.3　 集合 199 
9.3.1　 icollection接口的基本知识 199 
9.3.2　 ienumerable接口和ienumerator接口的基本知识 200 
9.4　 动态数组类 200 
9.4.1　 arraylist的简单使用 200 
9.4.2　 arraylist元素的添加 201 
9.4.3　 arraylist元素的插入 202 
9.4.4　 arraylist元素的删除 204 
9.4.5　 arraylist元素的查找 207 
9.4.6　 arraylist元素的遍历 208 
9.4.7　 arraylist容量的缩减 209 
9.4.8　 arraylist向array的转换 210 
9.5　 队列 211 
9.5.1　 简单介绍queue 212 
9.5.2　 queue类元素的添加和输出 212 
9.6　 堆栈类 214 
9.6.1　 简单介绍stack 214 
9.6.2　 stack类元素的添加和输出 214 
9.7　 哈希表 216 
9.7.1　 hashtable的简单使用 216 
9.7.2　 hashtable元素的添加 216 
9.7.3　 hashtable元素的获取 217 
9.7.4　 hashtable元素的遍历 219 
9.7.5　 hashtable元素的删除 219 
9.7.6　 hashtable元素的查找 221 
9.7.7　 简单介绍sortedlist 223 
9.8　 小结 224 
9.9　 常见面试题分析 224 
9.10　 本章习题 224 
第10章　 注册表编程与正则表达式 225 
10.1　 com组件和.net组件互操作 225 
10.1.1　 com组件和.net组件的基本概念 225 
10.1.2　 在.net中使用com组件 226 
10.1.3　 在com中使用.net组件 229 
10.2　 注册表操作 229 
10.2.1　 注册表概述 229 
10.2.2　 c#对注册表编程的支持 230 
10.2.3　 修改注册表 232 
10.3　 正则表达式 233 
10.3.1　 正则表达式概述 233 
10.3.2　 简单介绍正则表达式类 233 
10.3.3　 regex类实现字符代替 236 
10.3.4　 match类实现查找 238 
10.3.5　 matchcollection类实现查找 239 
10.3.6　 groupcollection类输出查找元素的数目 240 
10.3.7　 capturecollection类实现字符的匹配 241 
10.3.8　 group类定位查找元素的位置 242 
10.3.9　 应用capture类实现字符的定位 243 
10.3.10　 常用正则表达式 244 
10.4　 小结 245 
10.5　 常见面试题分析 245 
10.6　 本章习题 245 
第11章　 文件操作 246 
11.1　 文件管理 246 
11.1.1　 文件系统的概念 246 
11.1.2　 文件类file创建文件 247 
11.1.3　 文件信息类fileinfo查找文件 248 
11.1.4　 文件系统类filesysteminfo 249 
11.1.5　 文件夹类directory创建目录 250 
11.1.6　 文件夹信息类directoryinfo检查文件 250 
11.2　 文件读写 251 
11.2.1　 流的基本概念 251 
11.2.2　 字节流基类stream 253 
11.2.3　 缓冲类bufferedstream读取文件 254 
11.2.4　 文件流类filestream读取和写入文件 255 
11.2.5　 内存流类memorystream读取字符 258 
11.2.6　 二进制读取类binaryreader读取文件 259 
11.2.7　 二进制写入类binarywriter写入文件 260 
11.3　 字符流 261 
11.3.1　 字符流类简介 261 
11.3.2　 流写入类streamwriter写入文件 262 
11.3.3　 流读取类streamreader读取文件 264 
11.3.4　 流读取类stringreader和流写入类streamwriter 265 
11.3.5　 fileattributes枚举和fileshare枚举 266 
11.4　 小结 267 
11.5　 常见面试题分析 267 
11.6　 本章习题 267 
第12章　 与xml结合 269 
12.1　 xml介绍 269 
12.1.1　 xml的由来 269 
12.1.2　 xml的特点 270 
12.2　 xml语法 270 
12.2.1　 简单介绍xml的语法 270 
12.2.2　 xml语法的基本元素 272 
12.2.3　 用css显示xml文档 273 
12.2.4　 xml文档的验证 275 
12.3　 应用xml 276 
12.3.1　 visual studio 2010中的xml文档 276 
12.3.2　 xml文件的读取 278 
12.3.3　 xml文件元素值的读取 280 
12.3.4　 xml文件元素属性的读取 283 
12.3.5　 xml文件的写入 285 
12.3.6　 xml文件元素属性的写入 286 
12.3.7　 xml文件元素值的写入 288 
12.3.8　 关于xml的其他类 289 
12.4　 小结 290 
12.5　 常见面试题分析 291 
12.6　 本章习题 291 
第13章　 面向查询编程 292 
13.1　 linq概述 292 
13.1.1　 linq的概念 292 
13.1.2　 关于linq的一个简单实例 293 
13.2　 关于linq的语法 294 
13.2.1　 局部变量类型 295 
13.2.2　 扩展方法 295 
13.2.3　 lambda表达式 296 
13.2.4　 匿名类型 296 
13.2.5　 查询表达式的转换 296 
13.3　 linq的具体应用 297 
13.3.1　 基于对象的集成查询linq to objects应用 297 
13.3.2　 基于ado.net的集成查询linq to ado.net应用 299 
13.3.3　 基于关系数据的集成查询linq to sql数据上下文 303 
13.3.4　 基于xml的集成查询linq to xml应用 305 
13.4　 小结 307 
13.5　 常见面试题分析 307 
13.6　 本章习题 308 
第四篇　 visual studio 2010高级应用篇 
第14章　 windows窗体应用程序开发 309 
14.1　 多线程编程 309 
14.1.1　 线程的基本概念 309 
14.1.2　 线程的优先级和执行状态 313 
14.1.3　 线程同步 314 
14.2　 sdi窗体应用程序和mdi窗体应用程序 316 
14.2.1　 sdi窗体应用程序 316 
14.2.2　 mdi窗体应用程序 318 
14.3　 各种对话框的应用 321 
14.3.1　 打开文件对话框openfiledialog 321 
14.3.2　 保存文件对话框savefiledialog 323 
14.3.3　 打印 324 
14.3.4　 其他对话框 326 
14.4　 gdi+ 326 
14.4.1　 使用gdi+ 326 
14.4.2　 坐标系统和颜色 328 
14.4.3　 绘制线条 328 
14.4.4　 绘制图形 330 
14.4.5　 绘制文本 331 
14.4.6　 使用图像进行绘制 332 
14.5　 小结 334 
14.6　 常见面试题分析 334 
14.7　 本章习题 335 
第15章　 wpf开发 336 
15.1　 wpf概述 336 
15.1.1　 wpf的概念 336 
15.1.2　 wpf的组件及功能 336 
15.2　 xaml语言 337 
15.2.1　 xaml语言介绍 337 
15.2.2　 xaml语言的语法 339 
15.2.3　 xaml语言命名空间 340 
15.3　 开发wpf应用程序 341 
15.3.1　 wpf窗体应用程序开发 341 
15.3.2　 wpf浏览器应用程序开发 343 
15.4　 wpf控件的使用 344 
15.4.1　 dockpanel控件的应用 345 
15.4.2　 stackpanel控件的应用 346 
15.4.3　 canvas控件的应用 348 
15.5　 小结 350 
15.6　 常见面试题分析 350 
15.7　 本章习题 350 
第16章　 web开发 351 
16.1　 html概述 351 
16.1.1　 html的基本概念 351 
16.1.2　 html语言的基本元素 352 
16.1.3　 格式设置 352 
16.1.4　 超级链接 354 
16.1.5　 图像 355 
16.1.6　 表格 356 
16.1.7　 框架 358 
16.1.8　 表单 360 
16.2　 asp.net web forms的组织 362 
16.2.1　 认识asp.net 362 
16.2.2　 web forms的组织 362 
16.3　 web服务器控件 364 
16.3.1　 使用label和textbox控件 364 
16.3.2　 使用button控件 364 
16.3.3　 其他控件介绍 366 
16.4　 数据验证控件 367 
16.4.1　 数据验证机制介绍 367 
16.4.2　 验证输入控件requiredfieldvalidator 367 
16.4.3　 比较验证控件comparevalidator 368 
16.4.4　 范围验证控件rangevalidator 368 
16.4.5　 正则表达式验证控件regularexpressionvalidator 369 
16.4.6　 用户自定义验证控件customvalidator 369 
16.4.7　 汇总显示验证控件validationsummary 370 
16.4.8　 数据验证控件综合使用 370 
16.5　 小结 374 
16.6　 常见面试题分析 374 
16.7　 本章习题 375 
第17章　 数据访问技术 376 
17.1　 数据库技术的基本知识 376 
17.1.1　 数据库技术简介 376 
17.1.2　 sql语言简介 377 
17.1.3　 vs 2010对数据库的支持 378 
17.2　 sql语言 378 
17.2.1　 定义、删除与修改数据表 378 
17.2.2　 显示数据 380 
17.2.3　 查询 381 
17.2.4　 存储过程 381 
17.3　 连接和操作数据库 382 
17.3.1　 ado.net概述 383 
17.3.2　 链接数据对象connection 384 
17.3.3　 操作数据对象command和读取数据对象datareader 386 
17.3.4　 数据集对象dataset 388 
17.4　 数据绑定技术 389 
17.4.1　 有关数据绑定的概念 389 
17.4.2　 实现绑定数据源 390 
17.5　 数据源控件 391 
17.5.1　 sql数据源控件sqldatasource 391 
17.5.2　 access数据源控件accessdatasource 394 
17.5.3　 对象数据源控件objectdatasource 396 
17.5.4　 xml数据源控件xmldatasource 398 
17.6　 数据访问控件 401 
17.6.1　 重复控件repeater 401 
17.6.2　 数据列表控件datalist 402 
17.6.3　 网格视图控件girdview 404 
17.6.4　 其他控件 406 
17.7　 其他数据库介绍 407 
17.7.1　 mysql数据库 407 
17.7.2　 oracle数据库 407 
17.8　 小结 408 
17.9　 常见面试题分析 409 
17.10　 本章习题 409 
第18章　 web service应用与开发 410 
18.1　 web service的基本概念 410 
18.1.1　 为什么需要web service 410 
18.1.2　 什么是web service 410 
18.1.3　 什么时候需要web service 412 
18.2　 web service的体系结构和关键技术 412 
18.2.1　 web service的设计理念 412 
18.2.2　 web service的体系结构 413 
18.3　 web service的开发和使用 414 
18.3.1　 创建并测试web service 414 
18.3.2　 公布web service 418 
18.4　 小结 418 
18.5　 常见面试题分析 418 
18.6　 本章习题 419 
第19章　 wcf开发 420 
19.1　 关于wcf的一些概念 420 
19.1.1　 分布式应用 420 
19.1.2　 什么是wcf 420 
19.2　 wcf的开发 421 
19.2.1　 wcf的技术要素和类的支持 421 
19.2.2　 visual studio 2010对wcf应用程序工具的支持 423 
19.2.3　 wcf应用程序的具体实现 424 
19.2.4　 编写客户端的其他方法 426 
19.3　 小结 429 
19.4　 常见面试题分析 429 
19.5　 本章习题 430 
第20章　 应用程序的部署 431 
20.1　 部署工程 431 
20.1.1　 windows installer（windows安装）介绍 431 
20.1.2　 visual studio 2010支持的安装类型 432 
20.2　 制作安装程序 434 
20.2.1　 用户界面编辑器 434 
20.2.2　 欢迎界面 435 
20.2.3　 安装目录、确认安装、安装进度和完成界面 436 
20.2.4　 添加快捷方式 438 
20.2.5　 注册表编辑器 438 
20.2.6　 文件系统编辑器 439 
20.3　 小结 439 
第五篇　 visual studio 2010项目实战篇 
第21章　 图书馆管理系统 441 
21.1　 实现功能介绍 441 
21.2　 数据库设计 442 
21.2.1　 数据库设计分析 442 
21.2.2　 创建数据库和表 443 
21.3　 界面设计 444 
21.3.1　 主界面 444 
21.3.2　 用户登录界面 445 
21.3.3　 图书查询界面 445 
21.3.4　 图书入库界面 445 
21.3.5　 图书更新界面 446 
21.3.6　 图书借阅界面 446 
21.4　 通用类的生成 447 
21.4.1　 连接数据库 447 
21.4.2　 操作数据库中的数据 447 
21.5　 代码实现和分析 450 
21.5.1　 主窗口代码实现和分析 450 
21.5.2　 用户登录代码实现和分析 453 
21.5.3　 图书查询代码实现和分析 455 
21.5.4　 图书入库代码实现和分析 456 
21.5.5　 图书更新代码实现和分析 458 
21.5.6　 图书借阅代码实现和分析 462 
21.6　 小结 464 
第22章　 酒店管理系统 465 
22.1　 系统分析 465 
22.1.1　 需求分析 465 
22.1.2　 系统设计 466 
22.1.3　 数据库设计 466 
22.2　 实体类的实现 469 
22.2.1　 hoteluser实体类 469 
22.2.2　 guest实体类 470 
22.2.3　 guestcategory实体类 472 
22.2.4　 room实体类 472 
22.2.5　 roomtype实体类 474 
22.3　 界面设计 476 
22.3.1　 用户登录界面 476 
22.3.2　 主界面 476 
22.3.3　 客房类型设置界面 478 
22.3.4　 客房信息界面 479 
22.3.5　 客人管理界面 479 
22.3.6　 用户管理界面 480 
22.4　 实现数据访问层 480 
22.4.1　 数据库通用操作类 480 
22.4.2　 用户管理数据访问 483 
22.4.3　 客房信息数据访问 487 
22.4.4　 客房类型数据访问 490 
22.4.5　 客人管理数据访问 494 
22.4.6　 客人类型数据访问 498 
22.5　 实现业务逻辑层 500 
22.5.1　 用户管理业务逻辑类 500 
22.5.2　 客房信息管理业务逻辑类 501 
22.5.3　 客房类型业务逻辑类 503 
22.5.4　 客人管理业务逻辑类 505 
22.5.5　 客人类型业务逻辑类 507 
22.6　 实现表示层数据绑定 508 
22.6.1　 用户登录 508 
22.6.2　 主界面 509 
22.6.3　 客房类型设置 511 
22.6.4　 客房信息设置 515 
22.6.5　 用户管理 520 
22.6.6　 客人管理 523 
22.7　 小结 527