普通高等学校计算机教育“十二五”规划教材

C#程序设计及应用教程(第3版)

分享 推荐 11 收藏 28 阅读 8.9K
马骏 (主编) 978-7-115-33160-1

关于本书的内容有任何问题,请联系 人邮社 王宣

1.全书内容是作者经过多年教学验证的,案例都是从作者实际开发中抽取出来的,实用性非常强。
2.教材配套资料全,适合教师需求。
3.与同类书籍相比,教材对基本概念的讲解透彻,条理清晰,步骤详细,非常适合自学。

内容摘要

  本书主要介绍C#语言、WinForm和WPF应用程序开发的基础知识。全书共14章,前6章介绍C#语言和WinForm开发的基础知识,包括开发环境、基本数据类型、流程控制语句、类和结构、接口委托与事件、泛型与LINQ、目录与文件操作等;后8章介绍如何开发WPF应用程序,包括WPF控件、资源与样式控制、动画与多媒体、数据绑定与数据验证、数据库与实体数据模型、二维图形图像处理、三维图形和三维呈现。同时附录中给出了本书的上机练习和综合实验。
  本书提供配套的PPT课件、在VS2012下调试通过的所有参考源程序,以及书中全部习题参考解答。
  本书可作为高等院校计算机及相关专业的教材,也可作为初、中级程序员的参考用书。

目录

目 录

第 1篇 C#程序设计基础

第 1章 C#代码编写基础 2
1.1 C#语言和VS2012开发环境 2
1.1.1 C#语言和.NET框架 2
1.1.2 VS2012开发环境 3
1.2 C#项目的组织 4
1.2.1 命名空间 4
1.2.2 using关键字 5
1.2.3 Main方法 5
1.2.4 代码注释 6
1.2.5 通过断点调试C#程序 7
1.2.6 C#代码编写命名规范 7
1.3 控制台应用程序 8
1.3.1 控制台应用程序的输入与输出 8
1.3.2 在控制台应用程序中输出格式化数据 9
1.4 Windows窗体应用程序 14
1.4.1 Windows窗体应用程序的特点 14
1.4.2 Windows窗体应用程序的启动和退出 14
1.4.3 窗体的创建、显示、隐藏和关闭 15
1.4.4 消息框(MessageBox) 18
1.4.5 利用WinForm控件实现输入和输出 19
1.4.6 错误提示(ErrorProvider) 23
1.5 WPF和Silverlight应用程序 24
1.5.1 WPF应用程序 25
1.5.2 Silverlight应用程序 26
1.6 其他应用程序模板 27
1.6.1 WCF应用程序 27
1.6.2 ASP.NET和ASP.NET MVC应用程序 27
1.6.3 Metro样式的应用程序 28
1.7 独立应用程序和浏览器运行的应用程序 29
1.7.1 服务器操作系统和客户端操作系统的分类 30
1.7.2 独立应用程序的部署和运行 31
1.7.3 Web应用程序的部署和运行 32
习题 32

第 2章 基本数据类型和流程控制语句 33
2.1 数据类型和运算符 33
2.1.1 C#的类型系统 33
2.1.2 常量与变量 34
2.1.3 运算符与表达式 35
2.2 简单类型 36
2.2.1 整型 37
2.2.2 浮点型 37
2.2.3 布尔型(bool) 38
2.2.4 字符(char) 38
2.2.5 枚举(enum) 39
2.2.6 可空类型 41
2.3 字符串 42
2.3.1 字符串的创建与表示形式 42
2.3.2 字符串的常用操作方法 42
2.3.3 String与StringBuilder 46
2.4 数组 46
2.4.1 一维数组 47
2.4.2 多维数组 47
2.4.3 交错数组 48
2.4.4 数组的常用操作方法 50
2.5 数据类型之间的转换 52
2.5.1 值类型之间的数据转换 52
2.5.2 值类型和引用类型之间的转换 53
2.6 流程控制语句 54
2.6.1 分支语句 54
2.6.2 循环语句 60
2.6.3 跳转语句 64
2.6.4 异常处理语句 65
习题 68

第3章 类和结构 69
3.1 自定义类(class)和结构(struct) 69
3.1.1 类的定义和成员组织 69
3.1.2 访问修饰符 70
3.1.3 静态成员和实例成员 72
3.1.4 构造函数和析构函数 73
3.1.5 字段和局部变量 75
3.1.6 结构的定义和成员组织 76
3.2 属性和方法 78
3.2.1 属性(Property) 78
3.2.2 方法 79
3.3 类的继承与多态性 84
3.3.1 封装 84
3.3.2 继承 84
3.3.3 多态(new、virtual、override) 89
3.4 常用结构和类的用法 91
3.4.1 Math类 91
3.4.2 DateTime结构和TimeSpan结构 92
3.4.3 秒表和计时器(Stopwatch、Timer、DispatcherTimer) 94
3.4.4 随机数(Random) 96
习题 97

第4章 接口、委托与事件 98
4.1 接口 98
4.1.1 接口的声明和实现 98
4.1.2 显式方式实现接口 100
4.1.3 利用接口实现多继承 101
4.2 委托 102
4.2.1 定义委托类型 102
4.2.2 通过委托调用方法 103
4.3 事件 105
4.3.1 事件的声明和引发 105
4.3.2 具有标准签名的事件 106
4.4 序列化与反序列化 108
4.4.1 序列化 108
4.4.2 反序列化 109
4.5 反射 111
习题 111

第5章 泛型与LINQ 112
5.1 C#的类型扩展 112
5.1.1 匿名类型和隐式类型的局部变量 112
5.1.2 对象初始化和集合初始化 112
5.2 泛型和泛型集合 116
5.2.1 泛型的定义和引用 117
5.2.2 列表和排序列表 117
5.2.3 链表 119
5.2.4 字典和排序字典 120
5.2.5 队列 122
5.2.6 堆栈 123
5.2.7 哈希表和哈希集合 123
5.3 LINQ查询表达式 124
5.3.1 延迟执行和立即执行 124
5.3.2 from子句 125
5.3.3 where子句 126
5.3.4 orderby子句 127
5.3.5 group子句 127
5.3.6 select子句 128
5.3.7 查询多个对象 129
5.4 Lambda表达式 130
5.4.1 Lambda表达式的基本用法 130
5.4.2 在Func和Action委托中使用Lambda表达式 131
5.5 LINQ to Objects 133
习题 135

第6章 目录与文件操作 136
6.1 目录和文件管理 136
6.1.1 Environment类和DriveInfo类 136
6.1.2 Path类 138
6.1.3 目录管理 139
6.1.4 文件管理 140
6.2 文件的读写 141
6.2.1 文件编码 142
6.2.2 文本文件的读写 142
6.2.3 StreamReader类和StreamWriter类 143
6.2.4 二进制文件的读写 145
6.3 LINQ to XML 146
6.3.1 创建XML 147
6.3.2 查询XML 147
习题 150

第 2篇 WPF应用程序

第7章 WPF应用程序入门 152
7.1 WPF应用程序和XAML标记 152
7.1.1 Application类和App类 152
7.1.2 WPF应用程序的关闭模式及Shutdown方法 153
7.1.3 XAML命名空间和x:前缀编程构造 156
7.1.4 XAML基本语法 158
7.1.5 WPF设计器 161
7.2 窗口和对话框 161
7.2.1 WPF窗口 162
7.2.2 在主窗口显示前先显示登录窗口或者欢迎窗口 165
7.2.3 窗口的外观和行为 167
7.2.4 对话框 168
7.2.5 WPF页和页面导航 170
7.3 颜色 174
7.3.1 颜色格式 174
7.3.2 Brushes类和Colors类 175
7.3.3 Color结构 175
7.4 形状 176
7.4.1 形状控件共有的属性 176
7.4.2 矩形(Rectangle) 177
7.4.3 椭圆(Ellipse) 178
7.4.4 其他基本形状 178
7.5 画笔(Brush) 179
7.5.1 画笔分类 180
7.5.2 利用WPF设计器和属性窗口设置画笔类型 180
7.5.3 纯色画笔(SolidColorBrush) 181
7.5.4 线性渐变画笔(LinearGradientBrush) 181
7.5.5 径向渐变画笔(RadialGradientBrush) 182
7.5.6 利用WPF设计器实现画笔变换 183
7.6 属性 183
7.6.1 依赖项属性和附加属性 184
7.6.2 利用样式资源控制控件的属性 185
7.7 事件 186
7.7.1 WPF事件模型 186
7.7.2 事件路由策略 187
7.7.3 鼠标事件 190
7.7.4 键盘事件 194
7.7.5 手写笔和触控事件 196
习题 196

第8章 WPF控件 197
8.1 控件模型和内容模型 197
8.1.1 内置的WPF控件 197
8.1.2 WPF控件模型 198
8.1.3 WPF内容模型 204
8.1.4 WPF应用程序中创建控件对象的方式 205
8.2 常用布局控件 206
8.2.1 WPF的布局分类 206
8.2.2 网格(Grid) 207
8.2.3 堆叠面板(StackPanel) 209
8.2.4 画布(Canvas) 210
8.2.5 边框(Border) 212
8.2.6 停靠面板(DockPanel) 213
8.2.7 其他常用布局控件 214
8.3 常用基本控件 215
8.3.1 按钮(Button、RepeatButton) 215
8.3.2 文本块(TextBlock)和标签(Label) 216
8.3.3 文本框(TextBox、PasswordBox、RichTextBox) 217
8.3.4 单选按钮(RadioButton) 219
8.3.5 复选框(CheckBox) 221
8.3.6 列表框(ListBox)和下拉框(ComboBox) 222
8.4 菜单、工具条和状态条 225
8.4.1 菜单(Menu)和快捷菜单(ContextMenu) 226
8.4.2 工具条(ToolBar、ToolBarTray)和状态条(StatusBar) 228
8.5 图像和GIF动画 231
8.5.1 Image控件 232
8.5.2 利用WindowsFormsHost播放GIF动画 232
8.6 其他WPF控件 233
习题 234

第9章 资源与样式控制 235
9.1 文件属性与文件资源 235
9.1.1 WPF项目中的文件属性 235
9.1.2 嵌入的资源和链接的资源 236
9.1.3 内容文件和SplashScreen 237
9.2 XAML资源和样式控制 238
9.2.1 XAML资源 238
9.2.2 Style元素 240
9.2.3 在Style元素中设置属性和事件 241
9.2.4 样式的级联控制 243
9.2.5 使用C#代码定义和引用样式 247
9.3 在Style元素中使用模板和触发器 249
9.3.1 模板 249
9.3.2 触发器 251
9.4 主题(Themes) 254
9.4.1 系统主题 254
9.4.2 自定义主题 257
9.5 本地化处理 258
9.5.1 利用资源字典实现本地化处理 258
9.5.2 利用嵌入的资源实现本地化处理 261
习题 264

第 10章 动画与多媒体 265
10.1 WPF动画基础 265
10.1.1 WPF动画的分类 265
10.1.2 Storyboard和Timeline 267
10.2 基本动画(From/To/By) 274
10.2.1 基本动画类型 274
10.2.2 用本地动画实现基本动画 274
10.2.3 用Storyboard实现基本动画 276
10.2.4 用时钟动画实现基本动画 280
10.3 关键帧动画 284
10.3.1 关键帧动画类型 284
10.3.2 利用Blend for VS2012制作关键帧动画 285
10.3.3 在关键帧动画中插入样条动画 288
10.3.4 在关键帧动画中插入缓动函数 289
10.4 路径动画 290
10.4.1 使用PathGeometry绘制路径 290
10.4.2 路径动画类型 291
10.4.3 利用Blend for VS2012制作路径动画 295
10.5 变换(Transform) 298
10.5.1 基本概念 298
10.5.2 对变换进行动画处理 302
10.6 效果(Effect) 303
10.6.1 模糊效果(BlurEffect) 303
10.6.2 阴影效果(DropShadowEffect) 304
10.6.3 文本效果(TextEffect) 305
10.7 音频和视频 307
10.7.1 语音 307
10.7.2 音频和视频(MediaElement) 309
10.7.3 SoundPlayerAction类 315
习题 315

第 11章 数据绑定与数据验证 316
11.1 数据绑定 316
11.1.1 数据绑定基本概念 316
11.1.2 简单数据绑定 320
11.1.3 数据模板化 331
11.1.4 通过数据模板和视图绑定到集合 336
11.2 数据验证 338
11.2.1 数据验证的基本概念 339
11.2.2 利用验证规则和绑定模型实现验证 342
习题 352

第 12章 数据库与实体数据模型 353
12.1 创建数据库和表 353
12.1.1 ADO.NET数据访问技术 353
12.1.2 SQL Server 2012简介 354
12.1.3 创建LocalDB数据库 355
12.2 利用实体框架创建实体数据模型 358
12.2.1 实体框架基本概念 358
12.2.2 实体框架开发模式 359
12.2.3 从数据库创建实体数据模型 359
12.3 使用LINQ to Entities访问实体对象 360
12.3.1 创建实体框架上下文(DbContext)实例 361
12.3.2 加载相关对象 362
12.3.3 查询数据 364
12.3.4 修改数据 366
12.3.5 添加或删除数据 368
12.4 DataGrid控件 370
12.4.1 绑定各种类型的数据 370
12.4.2 标题和行列控制 374
习题 378

第 13章 二维图形图像处理 379
13.1 图形图像处理基础 379
13.1.1 与二维三维图形图像处理相关的类 379
13.1.2 创建本章例子的主程序 383
13.2 图形处理 385
13.2.1 二维几何图形和路径标记语法 385
13.2.2 基本图形 389
13.2.3 复合图形 398
13.2.4 将格式化文本转换为图形 400
13.3 图像处理 402
13.3.1 图像处理常用类 402
13.3.2 图像的编码和解码 404
13.3.3 像素格式转换(FormatConvertedBitmap) 408
13.3.4 旋转剪切和缩放图像 409
13.3.5 自动播放和逐帧绘制GIF动画 412
13.3.6 其他基本的图像处理技术 413
13.4 利用画笔绘制图形图像 414
13.4.1 TileBrush类 414
13.4.2 图像画笔(ImageBrush) 418
13.4.3 绘制画笔(DrawingBrush) 419
13.4.4 可视画笔(VisualBrush) 426
习题 432

第 14章 三维图形和三维呈现 433
14.1 WPF三维设计基本知识 433
14.1.1 Viewport3D控件 433
14.1.2 照相机(Camera) 436
14.1.3 三维几何模型(GeometryModel3D) 438
14.1.4 光照类型 438
14.1.5 材料(Meterial) 439
14.2 在窗口或页面中呈现三维场景 442
14.2.1 利用相机变换制作3D场景观察器 442
14.2.2 动态显示相机的属性 442
14.2.3 三维网格几何(MeshGeometry3D) 444
14.3 三维建模和自定义三维模型类 448
14.3.1 利用模型编辑器创建和编辑三维模型 448
14.3.2 创建自定义三维模型类 451
14.3.3 利用三维模型库简化场景构建 453
14.4 对模型进行变换和动画处理 456
14.4.1 三维变换处理基础 456
14.4.2 将三维变换封装到模型库中 459
14.4.3 对模型进行动画处理 461
习题 463

附录A 上机练习 464
附录B 综合实验 477

读者评论

赶紧抢沙发哦!

我要评论

同系列书

  • 办公自动化技术与应用(第2版)

    李岚

    本书全面介绍了办公软件在办公工作中的具体应用,常用办公设备的安装、使用和维护,系统的安全及优化,以及局域网的设...

    ¥39.80
  • MySQL数据库教程(视频指导版)

    郑阿奇

    本书以当前较流行的MySQL5.7作为平台,系统介绍MySQL数据库原理及其应用。具体内容涉及MySQL初步、...

    ¥49.80
  • 计算机英语(第3版)

    司爱侠 张强华

    本书是为培养计算机人才的专业英语能力而编写的教材,主要内容包括:计算机硬件和软件基础、外部设备、操作系统、数据...

    ¥54.00
  • Office高级应用案例教程

    文海英

    本书内容涵盖:word高级应用篇(第1,2章)、excel高级应用篇(第3,4章)、powerpoint高级应...

    ¥52.00
  • 办公自动化案例教程

    肖辉军

    本书以Windows系统平台为基础,系统地了解和掌握常用办公自动化软件的基础知识、基本操作方法和技巧。全书共8...

    ¥49.80

购买本书用户

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部