标题：C#程序设计标准教程
基本信息
作者:王小科 吕双[1] 
出版社：人民邮电出版社  页码：494 页
出版日期：2009年
ISBN：9787115194183
条形码：9787115194183
版本：1版　
装帧：平装
开本：16
中文：中文
丛书名：软件工程师入门
内容介绍
本书从初学者角度出发，通过通俗易懂的语言和大量生动典型的实例，由浅入深、循序渐进地介绍使用C#进行WinForms程序开发的常用技术和方法。全书共22章。第1章～第10章主要介绍认识Visual C#，C#语言基础，C#语句控制，数组，面向对象编程，熟悉WinForms应用程序，WinForms窗体介绍，WinForms应用程序开发常用控件，菜单栏、工具栏和状态栏设计及对话框等内容；第11章～第20章主要介绍使用ADO.NET操作数据库，文件处理技术，HTML帮助文件的制作，GDI+技术，Windows打印控件，网络开发技术，注册表应用，程序调试，Windows应用程序打包与安装，C# 3.5新特性等内容；第21章和第22章主要结合实际开发经验介绍利用C#开发库存管理系统和人事工资管理系统等内容。
本书附有配套光盘。光盘提供了书中所有实例的源代码，源代码都经过精心调试，在Windows XP/Windows 2000/Windows 2003 Server下全部通过，保证能够正常运行。
本书适用于C#初、中级用户，也可作为大、中专院校师生和培训班的教材，对于程序开发爱好者，本书也有较高的参考价值。
图书目录
第1章　认识Visual C#　001
1.1　Visual C#概述　002
1.1.1　Visual C#发展历程　002
1.1.2　C#语言编程环境　002
1.2　.NET　Framework 3.5简介　002
1.2.1　什么是.NET Framework　002
1.2.2　.NET Framework 3.5特性　003
1.3　安装集成开发环境Microsoft Visual Studio 2008　004
1.3.1　安装Microsoft Visual Studio 2008开发环境　004
1.3.2　安装Microsoft Visual Studio 2008 MSDN帮助　007
1.3.3　如何使用MSDN帮助　010
1.3.4　利用MSDN帮助附带的示例学习编程　011
1.4　创建第一个C#程序　012
1.4.1　创建项目　012
1.4.2　设计界面　014
1.4.3　编写代码　014
1.4.4　调试运行　015
1.4.5　保存项目　016
1.5　本章小结　016
第2章　C#语言基础　017
2.1　C#语言简介　018
2.2　数据类型　018
2.2.1　什么是数据类型　018
2.2.2　值类型的使用　018
2.2.3　引用类型的使用　018
2.2.4　什么是装箱和拆箱　020
2.2.5　装箱和拆箱的使用　020
2.3　常量与变量　020
2.3.1　声明和使用常量　020
2.3.2　声明变量　021
2.3.3　变量的作用域　022
2.3.4　变量的赋值　022
2.4　数据类型转换　023
2.4.1　隐式类型转换　023
2.4.2　显式类型转换　023
2.5　C#中运算符的使用　024
2.5.1　算术运算符的使用　024
2.5.2　赋值运算符的使用　026
2.5.3　关系运算符的使用　028
2.5.4　逻辑运算符的使用　028
2.5.5　位运算的使用　028
2.5.6　其他特殊运算符　029
2.5.7　运算符优先级　030
2.6　字符串处理　031
2.6.1　比较字符串　031
2.6.2　定位字符及子串　032
2.6.3　格式化字符串　034
2.6.4　截取字符串　034
2.6.5　分割字符串　035
2.6.6　插入和填充字符串　036
2.6.7　删除和剪切字符串　036
2.6.8　复制字符串　038
2.6.9　替换字符串　039
2.6.10　StringBuilder的定义与使用　039
2.6.11　可变字符串类StringBuilder与String的区别　041
2.7　程序编写规范　041
2.7.1　代码书写规则　041
2.7.2　命名规范　042
2.8　注释　043
2.8.1　注释的作用　044
2.8.2　如何使用注释　044
2.9　本章小结　044
第3章　C#语句控制　045
3.1　选择语句　046
3.1.1　使用if语句实现单分支选择结构　046
3.1.2　使用if…else语句实现双分支选择结构　046
3.1.3　使用if…else if…else语句实现多分支选择结构　047
3.1.4　嵌套if语句的使用　050
3.1.5　使用Switch语句实现多分支选择　051
3.2　迭代语句　053
3.2.1　使用while循环语句控制程序　053
3.2.2　使用do while循环语句控制程序　054
3.2.3　使用for循环语句控制程序　055
3.2.4　使用foreach循环语句控制程序　056
3.3　跳转语句　057
3.3.1　使用break语句实现程序跳转　057
3.3.2　使用continue语句实现程序跳转　059
3.3.3　使用goto语句实现程序跳转　059
3.3.4　使用return语句实现程序跳转　061
3.4　异常处理语句　062
3.4.1　throw语句　062
3.4.2　try-catch语句　063
3.4.3　try-catch-finally语句　064
3.5　本章小结　065
第4章　数组　066
4.1　数组简介　067
4.1.1　数组的概述　067
4.1.2　数组的应用　067
4.2　静态数组　068
4.2.1　一维数组的声明　068
4.2.2　一维数组元素的调用　068
4.2.3　二维数组的声明和调用　069
4.2.4　多维数组　071
4.3　动态数组　072
4.3.1　动态数组的声明　072
4.3.2　声明动态数组的注意事项　074
4.4　数组的基本操作　074
4.4.1　输入与输出数组　074
4.4.2　如何定位数组　076
4.4.3　如何遍历数组　078
4.4.4　增加删除数组元素　079
4.4.5　对数组进行排序　082
4.4.6　数组的合并与拆分　084
4.4.7　数组应用典型实例　088
4.5　本章小结　089
第5章　面向对象编程　090
5.1　面向对象编程　091
5.1.1　什么是面向对象编程　091
5.1.2　面向对象编程语言的特点　091
5.2　类　092
5.2.1　类的概念　092
5.2.2　类的声明　092
5.2.3　类成员的访问　092
5.2.4　类成员的保护　093
5.3　对象　093
5.3.1　对象的声明和实例化　093
5.3.2　类与对象的关系　094
5.4　构造函数和析构函数　094
5.4.1　构造函数的概念及使用　095
5.4.2　析构函数的概念及使用　095
5.5　枚举　096
5.5.1　什么是枚举　096
5.5.2　枚举的定义　096
5.5.3　枚举的使用　097
5.6　方法　098
5.6.1　方法的声明　098
5.6.2　方法的参数　099
5.6.3　静态和非静态方法的使用　100
5.6.4　方法的重载　101
5.7　封装、继承和多态　102
5.7.1　封装的概念及用途　102
5.7.2　封装的使用　102
5.7.3　继承的概念及用途　103
5.7.4　继承的使用　103
5.7.5　多态的概念及用途　104
5.7.6　多态的使用　104
5.8　接口　105
5.8.1　接口的概念　106
5.8.2　声明接口　106
5.8.3　接口的成员　106
5.8.4　接口的实现　107
5.8.5　抽象类与接口　108
5.9　域和属性　109
5.9.1　域的概念及用途　109
5.9.2　域的声明　109
5.9.3　属性的概念及用途　110
5.9.4　属性的声明　110
5.10　泛型　111
5.10.1　泛型概述及优点　111
5.10.2　泛型中的类型参数T　111
5.10.3　泛型的使用　112
5.11　匿名方法　115
5.11.1　什么是匿名方法　115
5.11.2　匿名方法的使用　115
5.12　迭代器　116
5.12.1　什么是迭代器　116
5.12.2　创建迭代器　117
5.12.3　迭代器的使用　117
5.13　分部类　118
5.13.1　什么是分部类　118
5.13.2　定义分部类　118
5.13.3　分部类的使用　118
5.14　事件和索引器　119
5.14.1　事件的概念及用途　119
5.14.2　事件的声明及使用　119
5.14.3　索引器的概念及用途　120
5.14.4　索引器的声明及使用　121
5.15　本章小结　121
第6章　熟悉WinForms应用程序　122
6.1　窗体设计器　123
6.1.1　创建窗体　123
6.1.2　使用窗体设计器　125
6.2　使用工具　126
6.2.1　熟悉工具箱　126
6.2.2　认识控件属性框　128
6.2.3　认识解决方案资源管理器　129
6.2.4　认识服务器资源管理器　131
6.3　本章小结　135
第7章　WinForms窗体介绍　136
7.1　Form窗体　137
7.1.1　Form窗体概述　137
7.1.2　Form窗体的使用　137
7.2　MDI窗体　138
7.2.1　MDI窗体概述　138
7.2.2　MDI窗体的使用　139
7.3　继承窗体　140
7.3.1　继承窗体概述　140
7.3.2　继承窗体的使用　141
7.4　本章小结　142
第8章　WinForms应用程序开发常用控件　143
8.1　控件概述　144
8.1.1　控件的作用　144
8.1.2　控件的属性、方法和事件　144
8.2　控件的分类　146
8.2.1　常用控件　147
8.2.2　容器控件　147
8.2.3　数据控件　147
8.2.4　打印控件　147
8.2.5　对话框控件　148
8.3　控件的相关操作　148
8.3.1　添加控件　148
8.3.2　对齐控件　148
8.3.3　调整控件的前后顺序　148
8.3.4　锁定控件　149
8.3.5　删除控件　149
8.4　文本类控件　149
8.4.1　应用Label控件　149
8.4.2　应用LinkLabel控件　152
8.4.3　应用Button控件　154
8.4.4　应用TextBox控件　157
8.4.5　应用RichTextBox控件　159
8.5　选择类控件　162
8.5.1　应用ComboBox控件　162
8.5.2　应用CheckBox控件　164
8.5.3　应用CheckedListBox控件　167
8.5.4　应用RadioButton控件　169
8.5.5　应用NumericUpDown控件　170
8.5.6　应用ListBox控件　173
8.6　容器控件　177
8.6.1　应用Panel控件　177
8.6.2　应用GroupBox控件　179
8.6.3　应用TabControl控件　180
8.7　组件　183
8.7.1　应用ErrorProvider组件　183
8.7.2　应用Timer组件　185
8.7.3　应用ImageList组件　187
8.7.4　应用FileSystemWatcher组件　189
8.7.5　应用HelpProvider组件　192
8.8　其他常用控件　194
8.8.1　应用ListView控件　194
8.8.2　应用TreeView控件　198
8.8.3　应用PictrueBox控件　200
8.8.4　应用NotifyIcon控件　203
8.8.5　应用DateTimePicker控件　205
8.8.6　应用MonthCalendar控件　207
8.8.7　应用ToolTip控件　209
8.8.8　应用ProgressBar控件　211
8.9　本章小结　214
第9章　菜单栏、工具栏和状态栏设计　215
9.1　菜单栏　216
9.1.1　菜单栏概念和用途　216
9.1.2　菜单栏设计　217
9.2　工具栏　218
9.2.1　工具栏概念和用途　218
9.2.2　工具栏设计　218
9.3　状态栏　220
9.3.1　状态栏概念和用途　220
9.3.2　状态栏设计　220
9.4　本章小结　221
第10章　对话框　222
10.1　消息对话框　223
10.1.1　什么是消息对话框　223
10.1.2　消息对话框的使用　223
10.2　“关于”对话框　231
10.2.1　什么是“关于”对话框　231
10.2.2　“关于”对话框的使用　231
10.3　公共对话框　232
10.3.1　“打开”对话框的使用　232
10.3.2　“另存为”对话框的使用　235
10.3.3　“颜色”对话框的使用　237
10.3.4　“字体”对话框的使用　240
10.3.5　“浏览文件夹”对话框的使用　242
10.4　本章小结　244
第11章　使用ADO.NET操作数据库　245
11.1　使用ADO.NET访问数据库　246
11.1.1　ADO.NET访问数据库的模式　246
11.1.2　数据库命名空间　247
11.2　ADO.NET对象模型　251
11.2.1　Connection对象　251
11.2.2　Command对象　253
11.2.3　DataReader对象　256
11.2.4　DataSet对象　258
11.2.5　DataAdapter对象　262
11.3　应用DataGridView控件　264
11.3.1　DataGridView控件的属性　264
11.3.2　DataGridView控件的方法　266
11.3.3　DataGridView控件的事件　269
11.3.4　DataGridView控件的使用　271
11.4　数据库开发基本操作　272
11.4.1　向数据库中添加数据　272
11.4.2　修改数据库中数据　273
11.4.3　删除数据库中数据　274
11.4.4　查询数据库中数据　276
11.5　本章小结　278
第12章　文件处理技术　279
12.1　System.IO命名空间　280
12.1.1　File类和Directory类　281
12.1.2　FileInfo类和DirectoryInfo类　283
12.1.3　FileStream类　284
12.1.4　StreamWriter类　287
12.1.5　StreamReader类　289
12.2　文件的基本操作　290
12.2.1　判断文件是否存在　290
12.2.2　创建文件　291
12.2.3　复制或移动文件　291
12.2.4　删除文件　291
12.2.5　获取文件基本信息　291
12.3　文件夹的基本操作　291
12.3.1　判断文件夹是否存在　292
12.3.2　创建文件夹　292
12.3.3　移动文件夹　292
12.3.4　删除文件夹　292
12.3.5　遍历文件夹中文件　292
12.4　文件写入和读取　293
12.4.1　文本文件的写入　293
12.4.2　文本文件的读取　294
12.5　解压缩文件　294
12.5.1　使用GZip解压缩文件　295
12.5.2　使用WinRAR解压缩文件　297
12.6　本章小结　299
第13章　HTML帮助文件的制作　300
13.1　HTML帮助文件概述　301
13.2　制作HTML帮助文件　301
13.2.1　安装Microsoft HTML Help Workshop　301
13.2.2　制作HTML帮助主题文件　302
13.2.3　制作HTML帮助项目文件　303
13.2.4　制作目录和目录文件　306
13.2.5　制作关键字和索引文件　308
13.2.6　制作.chm文件　311
13.3　HTML帮助文件的使用　312
13.4　本章小结　312
第14章　GDI+技术　313
14.1　GDI+概述　314
14.2　基本图形绘制　314
14.2.1　绘制直线　314
14.2.2　绘制矩形　315
14.2.3　绘制椭圆　316
14.2.4　绘制圆弧　317
14.2.5　绘制多边形　319
14.2.6　绘制基数样条　320
14.2.7　绘制贝塞尔样条　321
14.2.8　绘制图形路径　323
14.3　GDI+在实际开发中的应用　324
14.3.1　利用柱形图分析每月的商品销售情况　324
14.3.2　利用折线图分析网站访问流量　327
14.3.3　利用饼形图分析公司男女比例　330
14.4　本章小结　331
第15章　Windows打印控件　332
15.1　PrintDocument组件　333
15.1.1　PrintDocument组件的属性　333
15.1.2　PrintDocument组件的方法　334
15.1.3　PrintDocument组件的事件　334
15.1.4　PrintDocument组件的应用　335
15.2　PrintPreviewDialog组件　337
15.2.1　PrintPreviewDialog组件的属性　337
15.2.2　PrintPreviewDialog组件的方法　338
15.2.3　PrintPreviewDialog组件的应用　338
15.3　PrintPreviewControl组件　339
15.3.1　PrintPreviewControl组件的属性　339
15.3.2　PrintPreviewControl组件的方法　341
15.3.3　PrintPreviewControl组件的应用　341
15.4　PrintDialog组件　342
15.4.1　PrintDialog组件的属性　343
15.4.2　PrintDialog组件的方法　344
15.4.3　PrintDialog组件的应用　344
15.5　PageSetupDialog组件　345
15.5.1　PageSetupDialog组件的属性　346
15.5.2　PageSetupDialog组件的方法　346
15.5.3　PageSetupDialog组件的应用　347
15.6　本章小结　348
第16章　网络开发技术　349
16.1　System.Net命名空间　350
16.1.1　DNS类　350
16.1.2　DnsPermission类　352
16.1.3　WebRequest类　353
16.1.4　WebClient类　353
16.2　System.Net.Socket命名空间　353
16.2.1　什么是套接字　354
16.2.2　Socket类的属性、方法　354
16.3　开发网络应用程序　361
16.3.1　开发UDP协议聊天程序　361 
16.3.2　开发TCP/IP协议聊天室　362
16.4　电子邮件的发送与接收　364
16.4.1　MailMessage类和SmtpClient类的作用　364
16.4.2　POP3类的作用　365
16.4.3　电子邮件的发送　366
16.4.4　电子邮件的接收　367
16.5　本章小结　372
第17章　注册表应用　373
17.1　注册表基础知识　374
17.1.1　注册表概述　374
17.1.2　注册表的结构　374
17.2　读写注册表　376
17.2.1　读取注册表信息　377
17.2.2　向注册表中写入信息　379
17.3　注册表应用　381
17.3.1　将软件使用次数写入注册表　381
17.3.2　通过注册表优化系统　382
17.4　本章小结　383
第18章　程序调试　384
18.1　什么是断点操作　385
18.2　如何使用开始、中断和停止执行功能　385
18.3　什么是单步执行　387
18.4　如何运行到指定位置　387
18.5　本章小结　387
第19章　Windows应用程序打包与安装　388
19.1　Windows Installer简介　389
19.2　Windows应用程序部署　389
19.2.1　创建部署项目　389
19.2.2　可选的部署功能　391
19.3　安装及卸载Windows程序　394
19.3.1　在本地计算机上安装　394
19.3.2　部署到其他计算机　395
19.3.3　卸载安装应用程序　395
19.4　本章小结　395
第20章　C# 3.5新特性　396
20.1　C#　3.5概述　397
20.2　隐藏类型var　397
20.3　Lambda表达式　398
20.4　扩展方法　399
20.5　LINQ技术　400
20.6　本章小结　403
第21章　库存管理系统　404
21.1　需求分析　405
21.2　系统设计　405
21.2.1　总体规划　405
21.2.2　系统功能结构图　406
21.2.3　开发及运行环境　406
21.3　系统命名规则　406
21.3.1　数据库命名规范　406
21.3.2　程序代码命名规范　408
21.4　数据库设计　408
21.4.1　数据表概要说明　408
21.4.2　主要数据表的结构　409
21.4.3　存储过程的创建　411
21.4.4　触发器的创建　414
21.5　系统总体架构　417
21.5.1　文件夹架构　417
21.5.2　程序文件架构　417
21.6　公共类编写　418
21.6.1　DataCon类　419
21.6.2　DataOperate类　420
21.7　系统模块设计　424
21.7.1　系统登录模块设计　424
21.7.2　供应商信息设置模块设计　426
21.7.3　货物入库管理模块设计　429
21.7.4　货物出库管理模块设计　432
21.7.5　借货管理模块设计　435
21.7.6　还货管理模块设计　438
21.7.7　库存信息查询模块设计　441
21.7.8　出入库货物年统计模块设计　443
21.8　疑难问题解析　444
21.8.1　货物入库时更新货物信息表　444
21.8.2　通过饼型图分析货物出入库情况　445
21.9　本章小结　446
第22章　人事工资管理系统　447
22.1　需求分析　448
22.2　系统设计　448
22.2.1　总体规划　448
22.2.2　系统功能结构图　448
22.2.3　开发及运行环境　449
22.3　数据库设计　449
22.3.1　数据表概要说明　449
22.3.2　主数据表的结构　450
22.4　系统总体架构　452
22.4.1　文件夹架构　452
22.4.2　文件架构　452
22.5　公共类编写　453
22.5.1　DBConnection类　454
22.5.2　DBOperate类　454
22.6　系统模块设计　458
22.6.1　系统登录模块设计　458
22.6.2　系统主窗体设计　459
22.6.3　档案管理窗体　461
22.6.4　奖罚管理窗体　469
22.6.5　调动管理窗体　474
22.6.6　考评管理窗体　478
22.6.7　考勤津贴窗体　483
22.6.8　工资总结窗体　486
22.7　疑难问题解析　488
22.8　本章小结　488
附录　实例快速检索　489
序言
C#是微软公司为VisuaI Studio开发平台推出的一种高级编程语言，该语言支持各种类型的应用程序开发，包括控制台应用程序、WitlForms应用程序和ASP.NET应用程序等。C#语言是一种简洁、类型安全的面向对象的编程语言，它逐渐成为程序开发人员使用的主流编程语言。
为什么要选择本书
怎样才能更有效地学习C#？
怎样才能更深入地学习C#？
怎样才能更熟练地掌握C#？
也许您会问，我以前没有编程基础和经验，我能快速上手吗？别担心，本书是为C#初学者而作，如果您是学习C}}的新手，本书对您而言是一本不可多得的学习用书。只要您认真阅读本书，相信您一定会在很短的时间内掌握其中的方法。同时，本书提供了11小时的视频教学录像，可以帮助您在C#编程世界中畅游。
也许您还会问，我已有一些编程基础，这本书适合我吗，当然适合，读者可以根据实际情况选择阅读本书的不同部分。起步篇介绍C#编程必须掌握的基本技术，非常适合初学者入门学习；提高篇介绍实际开发中必须用到的技术及C#3.5新技术，适合初、中级用户编程提高之用；实例篇讲解实际项目的开发，适合读者检验学习效果，快速提高实际编程能力。