C#程序设计教程

-
【作 者】主编 李祥琴
【I S B N 】978-7-5170-7650-6
【责任编辑】张玉玲
【适用读者群】本专通用
【出版时间】2019-05-20
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】332
【千字数】508
【印 张】20.75
【定 价】¥48
【丛 书】普通高等教育“十三五”规划教材(软件工程专业)
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书以Visual Studio 2017为操作平台,介绍了C#程序设计的方法,全书共13章:C#语言概述、C#程序设计基础、流程控制、面向对象程序设计基础、继承与接口、数组与集合、泛型、委托与事件、Windows窗体应用程序设计、界面设计、线程编程、文件操作、ADO.NET数据访问技术。
本书内容丰富、由浅入深,特别注重实用性和引导性,书中列举大量编程实例,突出对应用能力的培养,便于初学者学习。
本书可作为高等院校计算机及相关专业教材,也可作为软件开发人员和计算机编程爱好者的参考书。
内容全面、结构完整:知识点介绍由浅入深、循序渐进。
案例典型实用:代码详细、步骤清晰。
巩固提高:习题题型丰富、题量适中。
资源立体配套:提供全部源码和配套实验指导。
前 言
C#是微软公司推出的一种面向对象的、运行于.NET Framework平台上的编程语言。它继承了C和C++的强大功能,又吸收了Java等其他语言的优点,是一种非常有竞争力的程序设计语言。本书开发环境使用Visual Studio 2017,数据库管理系统使用SQL Server 2012。本书全面细致地介绍了C#程序设计语言的基础知识,结合大量典型实例和实验,帮助读者掌握C#的编程方法和技巧,为今后学习相关的程序设计课程或从事C#编程工作打下坚实的基础。
本书共分为13章:第1章介绍C#语言的特点、.NET Framework的体系结构、Visual Studio 2017集成开发环境和C#应用程序的开发步骤;第2章介绍C#的数据类型、常量和变量、运算符与表达式;第3章介绍条件选择控制语句、循环控制语句、跳转语句和异常处理;第4章介绍面向对象的基本概念、类、对象、方法、构造函数与析构函数;第5章介绍继承的定义、派生类的声明、派生类的初始化顺序、覆写基类方法、虚方法、抽象类和抽象方法、接口的成员与实现;第6章介绍一维数组、二维数组、交错数组、集合的定义和使用;第7章介绍泛型类、泛型方法、泛型约束和泛型集合;第8章介绍委托的声明、实例化和调用,以及事件的定义和使用;第9章介绍Windows窗体的属性、窗体的事件和方法、常用控件、多文档界面、继承窗体的创建;第10章介绍菜单的结构、下拉式菜单和弹出式菜单、工具栏和状态栏的设计方法、通用对话框;第11章介绍线程的创建、线程的挂起与恢复、线程休眠、阻塞线程、终止线程,以及实现线程同步的方法;第12章介绍文件操作、文件夹操作、使用流对文件进行读写;第13章介绍ADO.NET对象模型、Connection对象、Command对象、DataReader对象、DataSet对象、DataAdapter对象,以及常用的数据绑定控件。为了帮助读者巩固知识点,每章最后提供了一定数量的练习题供选用。同时,为了方便上机练习,提高程序设计的综合能力,本书提供了配套的实验指导,涵盖了C#的主要内容,读者可从中国水利水电出版社网站或万水书苑下载,网址:http://www.waterpub.com.cn/ softdown/和http://www.wsbookshow.com。
本书具有如下特点:
(1)内容全面、结构完整,由浅入深、循序渐进地介绍各个知识点。
(2)精心选择典型案例,代码详细,步骤清晰。
(3)各章都提供了大量习题,帮助读者巩固所学知识。
(4)为便于教学,本书提供全部源码以及配套的实验指导,可读性强。
本书由李祥琴任主编,罗传军、张牧、杨利、周东来任副主编。其中,荆楚理工学院的李祥琴编写第1章、第6章至第9章、第13章,荆门市电子政务信息中心的罗传军编写第4章和第10章,荆楚理工学院的张牧编写第11章和第12章,池州学院的杨利编写第2章和第3章,荆州职业技术学院的周东来编写第5章,全书由李祥琴统稿。
在本书编写过程中,编者得到了荆楚理工学院、池州学院和荆州职业技术学院的大力支持和帮助,游明坤、武永成、胡秀、李俊梅、刘珊燕等多位老师提出了宝贵的意见和建议,在此一并表示感谢。
由于时间仓促及编者水平有限,书中难免存在一些疏漏和不足,恳请广大读者批评指正。
编 者
2019年3月
前言
第1章 C#语言概述 1
1.1 什么是C#语言 1
1.1.1 C#语言的发展历史 1
1.1.2 C#语言的特点 2
1.2 .NET概述 3
1.2.1 .NET平台 3
1.2.2 什么是.NET Framework 4
1.2.3 .NET Framework体系结构 4
1.2.4 .NET程序执行过程 6
1.3 Visual Studio 2017集成开发环境 6
1.3.1 Visual Studio 2017的安装 7
1.3.2 Visual Studio 2017界面介绍 10
1.3.3 Visual C#开发环境的配置 11
1.4 C#应用程序 12
1.4.1 控制台应用程序 13
1.4.2 Windows应用程序 14
1.4.3 Web应用程序 17
习题1 18
第2章 C#程序设计基础 20
2.1 C#程序的相关元素 20
2.1.1 标识符 20
2.1.2 关键字 21
2.1.3 命名空间 21
2.2 数据类型 22
2.2.1 值类型 23
2.2.2 引用类型 28
2.2.3 数据类型转换 29
2.2.4 .NET支持的方法转换 32
2.3 常量和变量 33
2.3.1 常量的定义和使用 33
2.3.2 变量的声明和赋值 34
2.4 运算符与表达式 35
2.4.1 算术运算符 35
2.4.2 关系运算符 36
2.4.3 赋值运算符 36
2.4.4 逻辑运算符 37
2.4.5 位运算符 37
2.4.6 条件运算符 39
2.4.7 其他运算符 39
2.4.8 运算符的优先级 40
习题2 41
第3章 流程控制 44
3.1 条件选择语句 44
3.1.1 if语句 44
3.1.2 switch语句 49
3.2 循环语句 51
3.2.1 while语句 51
3.2.2 do…while 语句 53
3.2.3 for语句 54
3.2.4 foreach语句 55
3.3 跳转语句 57
3.3.1 break语句 57
3.3.2 continue语句 58
3.3.3 goto语句 59
3.3.4 return语句 60
3.4 异常处理 61
3.4.1 异常处理语句 62
3.4.2 常用的异常类 66
3.4.3 用户自定义异常 66
习题3 67
第4章 面向对象程序设计基础 69
4.1 面向对象概述 69
4.1.1 面向对象的基本概念 69
4.1.2 面向对象的特点 70
4.2 类 71
4.2.1 类的声明 72
4.2.2 类的成员 73
4.2.3 嵌套类 78
4.2.4 分部类 78
4.3 对象 79
4.3.1 对象的声明和实例化 79
4.3.2 访问类的对象 80
4.4 方法 81
4.4.1 方法的声明和调用 81
4.4.2 静态方法和实例方法 82
4.4.3 方法的参数 83
4.4.4 方法的重载 86
4.5 构造函数和析构函数 87
4.5.1 构造函数 88
4.5.2 析构函数 89
习题4 90
第5章 继承与接口 93
5.1 继承 93
5.1.1 继承的定义 93
5.1.2 派生类的声明 94
5.1.3 派生类的初始化顺序 95
5.1.4 密封类 98
5.1.5 静态类 99
5.2 多态 100
5.2.1 虚方法 100
5.2.2 覆写基类方法 101
5.2.3 隐藏基类方法 102
5.2.4 抽象类和抽象方法 103
5.3 接口 104
5.3.1 接口的定义 105
5.3.2 接口的成员 105
5.3.3 接口的实现 106
5.3.4 接口的派生 108
习题5 110
第6章 数组与集合 112
6.1 数组 112
6.1.1 一维数组 112
6.1.2 二维数组 115
6.1.3 多维数组 117
6.1.4 交错数组 118
6.1.5 Array类 119
6.2 集合 121
6.2.1 集合接口 121
6.2.2 ArrayList类 122
6.2.3 Queue类 124
6.2.4 Stack类 126
6.2.5 Hashtable类 128
6.2.6 SortedList类 131
习题6 133
第7章 泛型 135
7.1 泛型概述 135
7.1.1 泛型的定义 135
7.1.2 泛型类 135
7.1.3 泛型结构 138
7.1.4 泛型接口 139
7.1.5 泛型方法 140
7.1.6 泛型的继承 141
7.2 泛型约束 141
7.3 泛型集合 146
7.3.1 List
7.3.2 Queue
7.3.3 Stack
7.3.4 Dictionary
KeyValuePair
7.3.5 SortedList
7.3.6 HashSet
习题7 161
第8章 委托与事件 162
8.1 委托的定义和使用 162
8.1.1 委托的声明 162
8.1.2 委托的实例化 162
8.1.3 委托的调用 164
8.2 多播委托 165
8.3 匿名方法 167
8.4 委托中的协变和逆变 169
8.5 Lambda表达式 170
8.6 委托的应用 172
8.7 事件 174
8.7.1 事件的概念 174
8.7.2 声明事件 175
8.7.3 订阅事件 175
8.7.4 触发事件 178
8.7.5 扩展EventArgs类 180
8.7.6 事件访问器 182
习题8 183
第9章 Windows窗体应用程序设计 185
9.1 窗体设计 185
9.1.1 创建窗体 185
9.1.2 窗体的类型 187
9.1.3 窗体的属性 187
9.1.4 窗体的方法 189
9.1.5 窗体的事件 191
9.2 常用控件 193
9.2.1 Label控件 193
9.2.2 TextBox控件 195
9.2.3 RichTextBox控件 199
9.2.4 Button控件 203
9.2.5 ListBox控件 204
9.2.6 CheckedListBox控件 207
9.2.7 ComboBox控件 208
9.2.8 RadioButton控件 210
9.2.9 CheckBox控件 212
9.2.10 GroupBox控件 213
9.2.11 TabControl控件 215
9.2.12 PictureBox控件 217
9.2.13 Timer控件 218
9.3 多文档界面 219
9.4 继承窗体设计 223
9.4.1 继承窗体概述 223
9.4.2 创建继承窗体 224
习题9 225
第10章 界面设计 228
10.1 菜单 228
10.1.1 MenuStrip控件 229
10.1.2 ContexMenuStrip控件 231
10.2 工具栏和状态栏 232
10.2.1 ToolStrip控件 232
10.2.2 StatusStrip控件 234
10.3 对话框 237
10.3.1 打开文件对话框 238
10.3.2 保存文件对话框 240
10.3.3 颜色对话框 240
10.3.4 字体对话框 241
10.3.5 打印对话框 241
习题10 244
第11章 线程编程 246
11.1 线程概述 246
11.1.1 单线程简介 246
11.1.2 多线程简介 247
11.2 线程控制 248
11.2.1 Thread类 248
11.2.2 线程的创建与启动 251
11.2.3 线程的挂起与恢复 252
11.2.4 线程休眠 252
11.2.5 阻塞线程 253
11.2.6 终止线程 254
11.3 线程优先级 255
11.4 线程的同步 257
11.4.1 使用lock关键字 257
11.4.2 使用Monitor类 259
11.4.3 使用Mutex类 260
习题11 261
第12章 文件操作 263
12.1 文件和System.IO模型概述 263
12.1.1 文件类型 263
12.1.2 文件的属性 264
12.1.3 文件访问方式与文件流 264
12.1.4 System.IO模型 264
12.2 对文件进行操作 265
12.2.1 File类 265
12.2.2 FileInfo类 267
12.3 对文件夹进行操作 268
12.3.1 Directory类 268
12.3.2 DirectoryInfo类 270
12.4 使用流对文件进行读写 271
12.4.1 FileStream类 271
12.4.2 StreamWriter类和StreamReader类 274
12.4.3 BinaryWriter类和BinaryReader类 278
习题12 281
第13章 ADO.NET数据访问技术 283
13.1 ADO.NET概述 283
13.1.1 ADO.NET简介 283
13.1.2 ADO.NET数据提供程序 284
13.1.3 ADO.NET对象模型 285
13.2 Connection对象 287
13.2.1 Connection对象的连接字符串 287
13.2.2 Connection对象的创建 288
13.2.3 Connection对象的属性和方法 289
13.2.4 连接池 291
13.3 Command对象 292
13.3.1 创建Command对象 292
13.3.2 Command对象的属性 293
13.3.3 Command对象的方法 294
13.4 DataReader对象 299
13.4.1 DataReader对象的属性和方法 299
13.4.2 创建和使用DataReader对象 300
13.5 DataSet对象 301
13.5.1 DataSet对象概述 301
13.5.2 DataSet对象的属性和方法 302
13.5.3 DataTable对象 303
13.5.4 DataColumn对象 305
13.5.5 DataRow对象 306
13.5.6 DataView对象 308
13.6 DataAdapter对象 310
13.6.1 DataAdapter对象的属性和方法 310
13.6.2 创建DataAdapter对象 311
13.6.3 使用DataAdapter对象 312
13.7 数据绑定控件 314
13.7.1 BindingSource控件 314
13.7.2 BindingNavigator控件 317
13.7.3 DataGridView控件 318
习题13 321
参考文献 324
- 实用运筹学 [主编 邢育红 于晋臣]
- 电子技术(第二版) [主编 覃爱娜 李飞]
- C程序设计实践教程 [刘卫国]
- C程序设计(慕课版) [刘卫国]
- 程序设计基础实践教程(C/C++语言版) [张桂芬 葛丽娜]
- C++案例项目精讲 [主编 杨国兴]
- 劳动争议处理实务 [主编 王秀卿 罗静]
- 工程数学 [主编 郭立娟 王海]
- 语音识别理论与实践 [主编 莫宏伟]
- 武术基础教程 [主编 李代勇 谢志民]
- 计算机网络实训教程 [主编 张浩军 赵玉娟]
- 画法几何与机械制图习题集(多学时) [主编 赵军]
- SwiftUI完全开发 [李智威 著]
- 电工电子技术基础 [主编 刘 军 杨国龙 刘天成]
- MySQL数据库项目式教程 [陈亚峰]
- 机械设计基础(第二版) [主编 田亚平 李爱姣]
- 画法几何与机械制图 [主编 赵军]
- C语言程序设计习题与实验指导(第二版) [主编 甄增荣 张宾]
- C语言程序设计(第二版) [主编 甄增荣 田云霞]
- Unity3D虚拟现实应用开发实践 [主 编 刘龙]
- 智能化技术基础(第三版) [邓文达 李礼]
- Python程序设计 [主编 姜春磊 陈虹洁]
- C语言程序设计实践教程(活页式) [主编 郑茵 陈巍 滕泓虬]
- 面向对象程序设计 [主编 张勇 张平华 赵小龙]
- Python程序设计基础及实战 [主编 刘健]
- 网络营销 [主编 夏薇薇 刘婷 尚洁]
- C语言程序设计 [姜雪]
- Python程序设计实践教程 [王鹤琴 蔡正保]
- 电视节目策划与制作(微课版) [主 编 黄滴滴]
- 数据库技术与应用实践教程(SQL Server 2019) [主 编 严晖 周肆清]