基本信息
书名:C#程序开发案例课堂
定价:89.00元
作者:刘春茂、李琪
出版社:清华大学出版社
出版日期:2018-01-01
ISBN:9787302488958
字数:770000
页码:496
版次:
装帧:平装-胶订
开本:16开
商品重量:
编辑推荐
内容提要
《C#程序开发案例课堂》以零基础讲解为宗旨,用实例引导读者深入学习,采取“基础入门→核心技术→高级应用→项目开发实战”的讲解模式,深入浅出地讲解C#的各项技术及实战技能。
《C#程序开发案例课堂》篇“基础入门”主要内容包括揭开C#神秘面纱、C#基本语法、C#程序结构、面向对象入门、面向对象的重要特征、集合与泛型;第2篇“核心技术”主要内容包括常用窗体控件、高级窗体控件、C#文件流、多线程操作、语言集成查询LINQ、异常和调试;第3篇“高级应用”主要内容包括ADO.NET操作数据库、GDI 技术、开发网络应用程序、在C#中操作注册表、水晶报表、应用程序打包;第4篇“项目开发实战”主要内容包括开发图书管理系统、开发社区互助系统、开发电影票预订系统和开发人事管理系统。
《C#程序开发案例课堂》适合任何想学习C#编程语言的人员,无论您是否从事计算机相关行业,无论您是否接触过C#语言,通过学习均可快速掌握C#在项目开发中的知识和技巧。
目录
目 录
篇 基础入门
章 揭开C#的神秘面纱——我的
个C#程序 3
1.1C#简介 4
1.2NET框架 5
1.3Visual C#的开发环境 5
1.3.1安装Visual Studio 2017的条件 5
1.3.2安装Visual Studio 2017 6
1.4 熟悉开发环境 7
1.4.1创建项目 8
1.4.2菜单栏 9
1.4.3工具栏 11
1.4.4工具箱面板 11
1.4.5属性面板 12
1.4.6错误列表 12
1.4.7输出面板 13
1.5 创建个简单的Visual C#应用程序 13
1.6 如何学好C# 14
1.7 大神解惑 15
1.8 跟我学上机 16
第2章 零基础开始学习——C#基本
语法 17
2.1C#的程序结构 18
2.1.1注释 18
2.1.2命名空间 18
2.1.3类 20
2.1.4Main方法 20
2.1.5标识符与关键字 21
2.1.6C#语句 22
2.2 程序的编写规范 22
2.2.1代码书写规则 22
2.2.2命名规范 22
2.3 数据类型 23
2.3.1变量 23
2.3.2常量 24
2.3.3值类型 24
2.3.4引用类型 32
2.3.5值类型和引用类型的区别 34
2.3.6类型转换 36
2.4 运算符和表达式 40
2.4.1表达式 41
2.4.2运算符 41
2.4.3运算符优先级 49
2.5 大神解惑 50
2.6 跟我学上机 50
第3章 控制程序运行方向——C#程序
结构 51
3.1 顺序结构 52
3.2 选择结构 52
3.2.1if语句 52
3.2.2if…else语句 53
3.2.3选择嵌套语句 54
3.2.4switch分支结构语句 55
3.3 循环结构 57
3.3.1while语句 57
3.3.2do…while语句 58
3.3.3for语句 59
3.3.4循环语句的嵌套 60
3.4 其他语句 61
3.4.1break语句 61
3.4.2continue语句 62
3.4.3goto语句 63
3.4.4return语句 63
3.5 大神解惑 64
3.6 跟我学上机 65
第4章 主流软件开发方法——面向对象
入门 67
4.1 面向对象编程思想 68
4.1.1面向对象概述 68
4.1.2面向对象编程解决问题的方法 68
4.1.3面向对象编程的特点 69
4.2C#中的类 70
4.2.1类的概念 71
4.2.2类的声明 71
4.2.3类的成员:属性、方法 72
4.2.4构造函数和析构函数 78
4.3C#中的对象 81
4.3.1对象的概念 81
4.3.2对象与类的关系 81
4.3.3对象的创建 81
4.4 分部类 82
4.5 结构与类 83
4.5.1结构的定义和使用 83
4.5.2结构与类的区别 85
4.6 大神解惑 86
4.7 跟我学上机 86
第5章 深入了解面向对象——面向对象
的重要特征 87
5.1 类的封装性 88
5.2 类的继承性 88
5.2.1继承性概述 89
5.2.2继承性的规则 90
5.3 类的多态性 91
5.3.1覆盖性重写 91
5.3.2多态性重写 92
5.4 接口 95
5.4.1接口的概念及声明 95
5.4.2接口的实现 96
5.4.3继承多个接口 97
5.5 抽象类与抽象方法 99
5.5.1抽象类 99
5.5.2抽象方法 100
5.5.3抽象类与接口 101
5.6 委托 101
5.6.1委托的声明 102
5.6.2实例化委托 102
5.6.3调用委托 102
5.7 事件 103
5.7.1定义事件 103
5.7.2订阅事件 104
5.7.3触发事件 104
5.8 大神解惑 105
5.9 跟我学上机 106
第6章 特殊的类——集合与泛型 107
6.1 数组概述 108
6.2 一维数组的声明和使用 108
6.2.1一维数组的定义 108
6.2.2一维数组的使用 110
6.3 二维数组的声明和使用 111
6.3.1二维数组的定义 111
6.3.2二维数组的使用 112
6.4 数组的基本操作 114
6.4.1遍历数组 114
6.4.2数组Array类的常用操作 115
6.5ArrayList集合 117
6.5.1ArrayList概述 117
6.5.2ArrayList的操作 119
6.5.3Array与ArrayList的区别 122
6.6HashTable集合 122
6.6.1HashTable概述 122
6.6.2HashTable的操作 124
6.7 泛型 125
6.7.1泛型概述 126
6.7.2泛型集合 128
6.7.3泛型接口 130
6.7.4泛型类 131
6.7.5泛型方法 134
6.8 大神解惑 135
6.9 跟我学上机 136
第2篇 核心技术
第7章 Windows应用程序开发初步
——常用窗体控件 139
7.1Windows窗体简介 140
7.1.1WinForm窗体的概念 140
7.1.2窗体的常用属性 140
7.1.3窗体的常用事件 142
7.1.4添加和删除窗体 142
7.2 常用Windows窗体控件 144
7.2.1控件的分类和作用 144
7.2.2添加控件 144
7.2.3排列控件 145
7.2.4删除控件 146
7.3 文本类控件和消息框 146
7.3.1标签(Label)控件 146
7.3.2按钮(Button)控件 147
7.3.3文本框(TextBox)控件 149
7.3.4消息框(MessageBox) 151
7.4Windows应用程序的结构和开发
步骤 154
7.4.1Windows应用程序的结构 154
7.4.2Windows应用程序开发步骤 155
7.5 大神 解 惑 155
7.6 跟我学上机 156
第8章 Windows应用程序开发进阶——
高级窗体控件 157
8.1 菜单与工具栏控件 158
8.1.1菜单控件 158
8.1.2工具栏(toolStrip)控件 160
8.2 列表视图和树视图控件 161
8.2.1列表视图控件(ListView) 161
8.2.2树视图控件(TreeView) 167
8.3 选项卡控件(TabControl) 172
8.4 通用对话框控件 175
8.4.1打开文件对话框(OpenFile
Dialog) 175
8.4.2保存文件对话框(SaveFile
Dialog) 177
8.4.3 选择目录对话框(FolderBrowser
Dialog) 179
8.5 多文档编程(MDI窗体) 181
8.6 大神解惑 184
8.7 跟我学上机 184
第9章 文件操作的利器——C#文件流 185
9.1 文件 186
9.1.1System.IO命名空间 186
9.1.2文件类File的使用 188
9.1.3文件夹Directory类的使用 189
9.1.4FileInfo类和DirectoryInfo类的
使用 191
9.1.5文件与文件夹的相关操作 193
9.2 数据流 198
9.2.1流操作介绍 198
9.2.2文件流类 199
9.3 文本文件的读写操作 202
9.3.1StreamReader类 202
9.3.2StreamWriter类 203
9.4 读写二进制文件 205
9.4.1BinaryReader类 205
9.4.2BinaryWriter类 206
9.5 读写内存流 208
9.6 大神解惑 209
9.7 跟我学上机 210
0章 任务同时进行——多线程
操作 211
10.1进程 212
10.1.1进程简介 212
10.1.2进程的基本操作 212
10.2线程 213
10.2.1线程简介 213
10.2.2单线程与多线程 214
10.2.3线程的基本操作 215
10.2.4创建线程 215
10.2.5线程的控制 216
10.2.6线程优先级 219
10.3多线程同步 221
10.3.1多线程同步概述 221
10.3.2用Lock语句实现互斥线程 222
10.3.3用Monitor类实现互斥线程 223
10.3.4用Mutex类实现互斥线程 224
10.4线程池 226
10.5大神解惑 228
10.6跟我学上机 228
1章 数据查询新模型——语言集成
查询LINQ 229
11.1LINQ简介 230
11.1.1隐式类型化变量(var) 230
11.1.2查询操作简介 230
11.1.3数据源 231
11.1.4查询 231
11.1.5执行查询 232
11.2LINQ和泛型类型 233
11.2.1LINQ查询中的IEnumerable
变量 233
11.2.2通过编译器处理泛型类型
声明 233
11.3基本LINQ查询操作 234
11.3.1获取数据源 234
11.3.2筛选 234
11.3.3排序 235
11.3.4分组 236
11.3.5联接 238
11.4大 神 解 惑 241
11.5跟我学上机 242
2章 解决问题的法宝——异常和
调试 243
12.1异常处理 244
12.1.1异常处理的概念 244
12.1.2典型的try…catch异常处理
语句 245
12.1.3使用finally块 246
12.1.4使用throw关键字显式抛出
异常 247
12.2程序调试 249
12.2.1程序错误分类 249
12.2.2基本调试概念——断点 250
12.2.3程序调试信息 252
12.3大神解惑 255
12.4跟我学上机 256
第3篇 高级应用
3章 C#的数据库编程——ADO.NET
操作数据库 259
13.1数据库基本知识 260
13.1.1数据库基本概念 260
13.1.2数据库系统的特点 260
13.1.3数据模型简介 261
13.1.4SQL语言简介 261
13.2数据库相关操作 262
13.2.1数据库的创建 262
13.2.2删除数据库 263
13.2.3数据表相关操作 264
13.2.4常用SQL语句的应用 265
13.3ADO.NET 简介和数据库的
访问 268
13.3.1ADO.NET特点 268
13.3.2ADO.NET组件及结构 268
13.3.3连接数据库 270
13.3.4执行SQL语句:Command
对象 272
13.3.5读取数据:DataReader对象 277
13.3.6数据适配器:DataAdapter
对象 280
13.4数据集(DataSet对象)简介 286
13.4.1DataSet对象简介 286
13.4.2DataSet对象中的常用属性与
方法 287
13.4.3使用DataSet对象的步骤 287
13.5使用DataGridView控件显示和操作
数据 288
13.5.1DataGridView控件列 289
13.5.2行高与列宽的设置 291
13.5.3DataGridView选中单元格时的
样式 291
13.5.4编辑DataGridView与绑定
属性 292
13.5.5数据集(DataSet)与DataGridView
的结合使用 293
13.6大神解惑 295
13.7跟我学上机 298
4章 图形界面设计——GDI 技术 299
14.1GDI 介绍 300
14.2Graphics类 301
14.3Pen类和Brush类的使用 301
14.3.1创建Pen类对象 302
14.3.2Brush类的使用 303
14.4基本绘图 310
14.4.1绘制直线和矩形 311
14.4.2绘制椭圆、圆弧和扇形 314
14.4.3绘制多边形 319
14.5使用GDI 绘制柱形图、饼形图、
折线图 320
14.5.1使用GDI 绘制柱形图 321
14.5.2使用GDI 绘制饼形图 324
14.5.3使用GDI 绘制折线图 327
14.6大神解惑 329
14.7跟我学上机 330
5章 融入互联网时代——开发网络
应用程序 331
15.1网络编程基础 332
15.1.1通信协议 332
15.1.2标识资源 333
15.1.3套接字编程 333
15.2网络编程类 334
15.2.1Dns类 334
15.2.2IPAddress类 336
15.2.3IPEndPoint类 338
15.2.4WebClient类 340
15.3Socket网络编程相关类 342
15.3.1Socket类 342
15.3.2TcpListener类和
TcpClient类 343
15.3.3UdpClient类 352
15.4System.Net.Mail简介 356
15.4.1MailMessage类 356
15.4.2MailAddress类 357
15.4.3Attachment类 358
15.4.4SmtpClient类 360
15.5大神解惑 362
15.6跟我学上机 362
6章 注册表技术——在C#中操作
注册表 363
16.1注册表简介 364
16.1.1Registry类 364
16.1.2RegistryKey类 365
16.2注册表的相关操作 366
16.2.1注册表信息的读取 366
16.2.2注册表信息的创建与修改 368
16.2.3注册表信息的删除 370
16.3注册表的应用 373
16.4大神解惑 375
16.5跟我学上机 376
7章 互动式报表——水晶报表 377
17.1水晶报表插件的下载与安装 378
17.2水晶报表插件的使用 379
17.3水晶报表的基本操作 382
17.3.1报表数据分组 382
17.3.2报表数据排序 383
17.3.3报表数据筛选 384
17.3.4图表的使用 388
17.4大神解惑 389
17.5跟我学上机 390
8章 程序开发收尾工作——应用
程序打包 391
18.1Visual Studio Installer简介 392
18.2Visual Studio Installer工具的
下载安装 392
18.3Visual Studio Installer工具的
使用 394
18.3.1创建Windows安装项目 394
18.3.2输出文件的添加 395
18.3.3内容文件的添加 396
18.3.4快捷方式的创建 396
18.3.5注册表项的添加 397
18.3.6生成Windows安装程序 398
18.4大神解惑 398
18.5跟我学上机 398
第4篇 项目开发实战
9章 经典系统应用——开发图书
管理系统 401
19.1需求分析 402
19.2功能分析 402
19.3数据库设计 404
19.4开发前准备工作 405
19.5系统代码编写 408
19.5.1图书类(class Book) 408
19.5.2图书馆类(class Library) 409
19.5.3借书系统类(class Book
System) 410
19.5.4Main类(class ManClass) 413
19.6系统运行 414
19.7项目总结 414
第20章 流行系统应用——开发社区
互助系统 415
20.1需求分析 416
20.2功能分析 416
20.3数据库设计 418
20.4开发前准备工作 419
20.5系统代码编写 422
20.5.1需求类(class Need) 422
20.5.2平台类(class Platform) 423
20.5.3系统类(class Community
Share) 425
20.5.4Main类(class MainClass) 428
20.6系统运行 428
20.7项目总结 430
第21章 娱乐影视应用——开发电影票
预订系统 431
21.1需求分析 432
21.2功能分析 432
21.3数据库设计 433
21.4开发前准备工作 434
21.5系统代码编写 437
21.5.1座位类(class Seat) 437
21.5.2影厅类(class Hall) 438
21.5.3电影类(class Movie) 440
21.5.4订票系统类(class Ticket-
System) 441
21.5.5Main类(class CinemaTicket) 442
21.6系统运行 445
21.7项目总结 446
第22章 企业系统应用——开发人事
管理系统 447
22.1需求分析 448
22.2系统功能结构 448
22.2.1构建开发环境 448
22.2.2系统功能结构 448
22.3数据库设计 449
22.3.1数据库分析 449
22.3.2数据库实体E-R图 449
22.3.3数据库表的设计 452
22.4开发前准备工作 455
22.5用户登录模块 462
22.5.1定义数据库连接方法 462
22.5.2防止窗口被关闭 465
22.5.3验证用户名和密码 466
22.6人事档案管理模块 468
22.6.1界面开发 468
22.6.2代码开发 468
22.6.3添加和编辑员工照片 484
22.7用户设置模块 485
22.7.1添加、修改用户信息 485
22.7.2删除用户基本信息 488
22.7.3设置用户权限 489
22.8数据库维护模块 490
22.8.1数据库备份功能 491
22.8.2数据库还原功能 491
22.9系统运行 492
22.9.1登录 492
22.9.2企业人事管理系统 492
22.9.3人事档案管理 492
22.9.4人事资料查询 493
22.9.5员工信息提醒 493
22.9.6员工通讯录 494
22.9.7日常记事 494
22.9.8用户设置 495
22.9.9基础信息维护管理 495
22.10项目总结 496
作者介绍
刘春茂,本科毕业于上海复旦大学,硕士毕业于清华大学。曾在美国IBM公司移动产品开发组从事Android平台应用的开发。擅长的核心技术媒体和教育领域个性化信息推荐,网站用户行为数据挖掘,健康领域非结构化数据处理。擅长的其他技术熟悉各种网站和手机(Andorid和iOS)app的开发等,精通Java, C/C , PHP, Python等流行语言并对Hadoop, MapReduce等大数据框架有深入研究。
序言