C#程序设计及应用教程（第2版）

2009年人民邮电出版社出版的图书
《C#程序设计及应用教程（第2版）》是2009年出版的图书，作者是马骏。
内容简介
《C#程序设计及应用教程（第2版）》是一本正文语种为简体中文的书籍。
人民邮电出版社
本书详细介绍C#程序设计及其应用技术。全书由C#程序设计基础、Windows应用程序设计和Web应用程序设计三部分组成，主要内容包括C#语言基础知识、面向对象的编程技术、Windows窗体控件、目录与文件管理、图形图像处理、ADO.NET、报表设计、类库与控件库设计以及Web应用程序开发。 本书可作为高等院校计算机及相关专业的教材，也可作为初、中级程序员的参考用书。
目录
第1篇　C#程序设计基础
第1章　概述　2
1.1　C#语言及其发展简介　2
1.1.1　C#语言的特点　2
1.1.2　C#语言的发展过程　3
1.1.3　C#语言与其他语言的比较　3
1.2　Visual Studio开发环境的功能和特点　5
1.2.1　Microsoft.NET Framework　6
1.2.2　应用程序模板　7
1.3　C#应用程序的一般结构　10
1.3.1　命名空间　10
1.3.2　Main方法　12
1.3.3　文件结构　12
1.3.4　程序代码注释　13
1.4　断点设置与程序调试　15
1.5　C#代码编写命名建议　16
习题　16
第2章　数据类型与流程控制　17
2.1　数据类型　17
2.1.1　C#数据类型的分类　17
2.1.2　整型　18
2.1.3　浮点型　19
2.1.4　布尔型　19
2.1.5　字符类型与字符串类型　19
2.2　不同数据类型之间的转换　20
2.2.1　显式转换与隐式转换　20
2.2.2　装箱和拆箱　22
2.3　常量与变量　22
2.3.1　常量　23
2.3.2　变量　23
2.3.3　匿名类型的变量　24
2.4　运算符与表达式　24
2.4.1　运算符　25
2.4.2　表达式　26
2.5　控制台应用程序与格式化输出　26
2.5.1　控制台输出　26
2.5.2　控制台输入　27
2.5.3　字符串的格式化输出　27
2.5.4　数字的格式化输出　28
2.5.5　日期和时间的格式化输出　29
2.6　C#流程控制语句　30
2.6.1　分支语句　30
2.6.2　循环语句　33
2.6.3　跳转语句　36
2.6.4　异常处理语句　39
习题　41
第3章　常用数据类型的用法　42
3.1　字符串　42
3.1.1　字符串的创建与表示形式　42
3.1.2　字符串比较　42
3.1.3　字符串查找　43
3.1.4　求子字符串　44
3.1.5　字符串的插入、删除与替换　44
3.1.6　移除首尾指定的字符　45
3.1.7　字符串的合并与拆分　45
3.1.8　字符串中字母的大小写转换　46
3.1.9　String与StringBuilder的区别　46
3.2　数组　47
3.2.1　数组的声明与初始化　47
3.2.2　数组的秩与数组长度　48
3.2.3　一维数组　48
3.2.4　多维数组　48
3.2.5　交错数组　49
3.2.6　动态改变数组大小　50
3.2.7　数组元素的排序与查找　51
3.2.8　数组的统计运算及数组和字符串之间的转换　52
3.3　枚举　53
3.3.1　枚举的定义　53
3.3.2　枚举的基本用法　53
3.4　泛型　54
3.4.1　泛型的定义和引用　54
3.4.2　可空类型的泛型　55
3.5　泛型集合　56
3.5.1　哈希集合　57
3.5.2　列表和排序列表　57
3.5.3　链表　58
3.5.4　字典和排序字典　59
3.5.5　队列　60
3.5.6　堆栈　60
3.6　日期与时间处理　60
3.7　数学运算　62
3.8　随机数　63
习题　64
第4章　面向对象的编程基础　65
4.1　类　65
4.1.1　类的声明与成员组织　65
4.1.2　构造函数　67
4.1.3　字段和局部变量　68
4.1.4　静态成员和实例成员　69
4.1.5　访问修饰符　69
4.2　结构　69
4.3　方法　71
4.3.1　方法的定义与调用　71
4.3.2　方法中的参数传递　72
4.3.3　方法重载　74
4.4　属性与索引器　75
4.4.1　属性　75
4.4.2　索引器　77
习题　79
第5章　面向对象的高级编程　80
5.1　类的继承与多态性　80
5.1.1　基类和扩充类　80
5.1.2　多态性　82
5.1.3　抽象类　85
5.1.4　密封类　86
5.1.5　继承过程中构造函数的处理　87
5.2　版本控制　88
5.3　接口　90
5.3.1　接口的声明与实现　91
5.3.2　显式方式实现接口　92
5.4　委托与事件　93
5.4.1　委托　93
5.4.2　事件　95
5.5　反射　96
5.6　序列化与反序列化　97
5.6.1　二进制序列化与反序列化　97
5.6.2　XML序列化与反序列化　99
习题　101
第2篇　Windows应用程序设计
第6章　窗体、控件和组件　104
6.1　窗体与对话框　104
6.1.1　窗体应用程序的启动和停止　104
6.1.2　窗体的创建、显示、隐藏和关闭　105
6.1.3　窗体常用属性　107
6.1.4　窗体位置及外观控制　108
6.1.5　单文档窗体和多文档窗体　110
6.1.6　对话框　110
6.2　控件共有的基本操作　114
6.2.1　控件常用属性和基本操作　114
6.2.2　控件的锚定和停靠　116
6.2.3　控件的常用鼠标与键盘事件　117
6.3　容器类控件和常用组件　119
6.3.1　分组控件(Panel、GroupBox)　119
6.3.2　工具提示组件(ToolTip)　120
6.3.3　错误提示组件(ErrorProvider)　120
6.3.4　定时组件(Timer)　120
6.4　文本操作类控件　122
6.4.1　标签控件(Label、LinkLabel)　122
6.4.2　文本控件(TextBox、Masked TextBox、RichTextBox)　122
6.5　选择操作类控件　125
6.5.1　列表控件(ListBox、ComboBox)　125
6.5.2　复选控件(CheckBox、CheckedListBox)　128
6.5.3　单选控件(RadioButton)　132
6.5.4　日期时间选择控件(DateTimePicker)　133
6.6　图像操作类控件和组件　135
6.6.1　图像与动画控件(PictureBox)　135
6.6.2　图像列表组件(ImageList)　136
6.7　菜单、工具栏与状态栏　137
6.7.1　菜单控件(MenuStrip)　137
6.7.2　快捷菜单控件(Context MenuStrip)　139
6.7.3　工具栏控件(ToolStrip)　139
6.7.4　状态栏控件(StatusStrip)　139
6.8　视图操作类控件　142
6.8.1　列表视图控件(ListView)　142
6.8.2　树形视图控件(TreeView)　144
6.9　其他常用控件　147
6.9.1　选项卡控件(TabControl)　147
6.9.2　面板复合控件(SplitContainer)　149
6.9.3　任务栏图标组件(NotifyIcon)　150
习题　152
第7章　目录与文件管理　153
7.1　系统环境相关类　153
7.1.1　Environment类　153
7.1.2　DriveInfo类　154
7.2　目录管理　154
7.2.1　Directory类与DirectoryInfo类　155
7.2.2　Path类　156
7.2.3　目录的创建、删除和移动　156
7.2.4　FolderBrowserDialog对话框　157
7.3　文件管理　158
7.3.1　File类与FileInfo类　158
7.3.2　文件的复制、删除与移动　158
7.3.3　文件属性　159
7.3.4　OpenFileDialog与SaveFileDialog对话框　160
7.4　文件的读写　162
7.4.1　文件编码　162
7.4.2　文本文件的读写　163
7.4.3　二进制文件的读写　165
7.5　FileSystemWatcher组件　166
习题　167
第8章　图形图像处理　168
8.1　图形图像绘制基础知识　168
8.1.1　GDI+概述　168
8.1.2　Graphics类　170
8.1.3　颜色　170
8.1.4　Paint事件　171
8.2　绘制基本图形　172
8.2.1　创建画笔　172
8.2.2　绘制直线　172
8.2.3　绘制矩形　177
8.2.4　绘制多边形　177
8.2.5　绘制曲线　179
8.2.6　绘制椭圆和扇形　180
8.3　填充图形　181
8.3.1　创建画刷　181
8.3.2　填充单色　182
8.3.3　填充渐变色　183
8.3.4　填充阴影　184
8.3.5　填充纹理　185
8.3.6　填充路径　186
8.4　图像处理　187
8.4.1　绘制图像　187
8.4.2　保存图像　188
8.4.3　图像的拉伸与反转变换　191
8.5　图形与图像的平移、旋转和缩放　193
8.6　文字处理　194
习题　195
第9章　ADO.NET与数据操作　196
9.1　ADO.NET简介　197
9.1.1　数据访问技术及其发展概述　197
9.1.2　ADO.NET数据访问模型　197
9.2　数据库与数据访问工具　198
9.2.1　SQL Server数据库分类　198
9.2.2　数据访问可视化工具　200
9.3　ADO.NET数据访问对象203
9.3.1　SqlConnection对象　204
9.3.2　SqlCommand对象　205
9.3.3　SqlDataAdapter对象　209
9.3.4　DataTable对象　210
9.3.5　DataSet对象　212
9.4　数据绑定技术　213
9.4.1　简单数据绑定与复杂数据绑定　213
9.4.2　数据源组件(BindingSource)　215
9.4.3　导航控件(BindingNavigator)　217
9.5　DataGridView控件　220
9.5.1　默认功能　220
9.5.2　绑定数据源　221
9.5.3　标题及行列控制　224
9.5.4　单元格控制　227
9.5.5　异常处理　230
9.6　数据处理　233
9.6.1　图像数据处理　233
9.6.2　关联表数据处理　236
9.7　存储过程　240
9.8　语言集成查询(LINQ)　244
9.8.1　LINQ简介　244
9.8.2　查询表达式　246
9.8.3　对象关系设计器(O/R设计器)　249
习题　251
第10章　报表设计　252
10.1　水晶报表基础知识　252
10.1.1　水晶报表的分类　252
10.1.2　嵌入式水晶报表设计器　253
10.1.3　报表节　253
10.1.4　报表数据源　254
10.2　水晶报表的设计与显示　254
10.2.1　水晶报表对象模型　254
10.2.2　显示与打印水晶报表　256
习题　264
第11章　类库与控件库设计　265
11.1　特性(Attribute)　265
11.2　类库设计　266
11.2.1　设计类库　267
11.2.2　调用类库　268
11.3　用户控件　269
11.3.1　在属性窗口中显示属性提示　269
11.3.2　制作按钮用户控件　271
11.4　控件库设计　275
11.4.1　设计控件库　275
11.4.2　调用控件库　276
习题　276
第12章　正则表达式　277
12.1　正则表达式及其相关类　277
12.1.1　正则表达式简介　277
12.1.2　正则表达式相关类　280
12.2　Web信息浏览与搜索　285
12.2.1　WebBrower控件　285
12.2.2　利用正则表达式搜索Web资源　287
习题　291
第3篇　Web应用程序设计
第13章　Web应用程序设计基础　294
13.1　Web应用程序开发工具　294
13.2　页面设计基础　295
13.2.1　HTML　295
13.2.2　CSS　297
13.2.3　JavaScript　299
13.3　Web应用程序中的常用对象　300
13.3.1　Response与Request　301
13.3.2　Application与Session对象301
13.4　网页切换与网页间的数据传递　301
13.4.1　网页的切换　302
13.4.2　网页间的数据传递　302
习题　302
第14章　ASP.NET Web服务器控件　303
14.1　标准控件　303
14.1.1　简单控件　304
14.1.2　Table控件　306
14.1.3　HiddenField控件　309
14.2　数据操作控件　310
14.2.1　SqlDataSource组件　310
14.2.2　GridView控件　313
14.2.3　DataList控件　315
14.2.4　DetailsView控件　319
14.2.5　FormView控件　320
14.3　验证控件　320
14.3.1　ValidationSummary控件　321
14.3.2　RequiredFieldValidator控件　321
14.3.3　RangeValidator控件　322
14.3.4　CompareValidator控件　323
14.3.5　RegularExpressionValidator控件　325
14.3.6　CustomValidator控件　326
14.4　导航控件　327
14.4.1　SiteMapPath控件　327
14.4.2　Menu控件　329
14.4.3　TreeView控件　331
习题　334
第15章　Web应用程序开发实例　335
15.1　系统分析与总体规划　335
15.1.1　需求分析　335
15.1.2　技术处理　336
15.1.3　总体规划　336
15.2　系统架构设计　336
15.2.1　系统功能结构　337
15.2.2　文件组织　337
15.2.3数据库结构338
15.3　前台功能模块设计　338
15.3.1　首页设计　339
15.3.2　单记录多选类测评表页面设计　342
15.3.3　多记录多选类测评表页面设计　343
15.3.4　数据编辑类测评表页面设计　346
15.4　后台功能模块设计　347
15.4.1　管理员登录页面设计　347
15.4.2　系统管理页面设计　347
15.4.3　统计汇总表设计　348
15.4.4　报表打印与输出设计　349