《C#编程入门与应用(上)》

举报
清华大学出版社 发表于 2019/08/23 22:44:59 2019/08/23
【摘要】 本节书摘来自清华大学出版社《C#编程入门与应用》一作者是李 鑫 祝惠娟。

C#编程入门与应用

image.png

李 鑫 祝惠娟  编 著



前言

C# 是面向对象的编程语言,是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。全球每天有超过百万的开发者正在用C# 进行着各式各样程序的开发,它是目前使用最广泛的计算机语言之一。C# 凭借其易学易用、功能强大等特点,可以进行Windows 窗体应用程序、MDI 窗体应用程序、WPF 应用程序、.NET 应用程序等的开发,并且在信息技术、科学研究等各个领域都得到了广泛的应用。

为了使广大学生和工作人员能真正掌握C# 语言程序设计技术,领悟C# 程序设计的快乐和享受C# 语言带来的在提高生产效率方面的好处,作者根据多年的程序开发和C# 授课经验,精心编写了本书。本书并不是单纯从知识角度来讲解C# 程序设计,而是从实践和解决开发问题的角度来介绍C# 语言,在编写的过程中,注重把C# 语言中的重点、难点、要点和编程中常见的问题融合在一起进行讲解。

本书编写思路清晰、内容翔实、案例实用,详细介绍使用C# 语言进行程序设计的方方面面。

本书可作为计算机软件以及其他计算机相关专业的教材,也可以作为C# 编程人员的参考书。

本书内容

全书共分19 章,主要内容如下。

第1 章 C# 入门概述。主要介绍C# 语言的基础知识,包括C# 的概念、发展历史、优势、开发环境、开发工具以及C# 程序结构等内容。

第2 章 C# 基础语法。主要介绍C# 的基础语法, 包括C# 常用关键字(using、namespace、class)、预处理指令、语言注释、Main() 方法等相关内容。

第3 章 变量、常量与数据类型。从C# 中的变量开始介绍,然后介绍常量和数据类型的有关知识,最后介绍数据类型转换的两种方式,即显式转换和隐式转换。

第4 章 运算符和表达式。主要介绍C# 中常用的运算符和表达式,内容包括C# 的基础运算符、高级运算符、运算符的优先级别以及表达式等。

第5 章 流程控制语句。首先介绍C# 中的语句类型和空语句,重点介绍C# 条件语句和循环语句的使用,包括if、switch、for、while、do while 和foreach 等。最后还将介绍C# 中的跳转语句,如return、break、continue 以及goto。

第6 章 字符串与正则表达式。主要介绍C# 中的字符串处理与正则表达式的使用,包括String 类操作字符串、StringBuilder 类操作字符串和正则表达式操作字符串等内容。

第7 章 数值处理和日期处理。主要介绍Math 类、Random 类、DateTime 结构和TimeSpan 结构等内容。

第8 章 数组。将详细介绍C# 中一维数组、二维数组和多维数组的创建、初始化和相关处理类如何处理数组,例如添加数组元素、移除数组元素、反转数组元素以及数组排序等内容。

第9 章 内置集合和自定义集合。主要介绍C# 中的内置集合类,以及如何自定义集合类。内置集合类包含Hashtable、SortedList、Stack、Queue 和BitArray 等。

第10 章 类和对象。从面向对象编程的概念引出类和对象的概念,详细介绍类和对象的有关知识。主要内容包含类的创建和使用、类的构造函数、析构函数、类可包含的成员、对象的创建和使用、this 关键字如何使用等。

第11 章 类的面向对象编程。封装、继承、多态是面向对象编程的三个特性,也是类的三大特性。该章除了介绍类的编程特性外,还针对抽象类、密封类、类的常用关键字进行介绍。

第12 章 枚举、结构和接口。介绍C# 中经常用到的3 个知识点,即枚举、结构和接口,包括它们的概念、定义、使用以及与类的区别等知识点。

第13 章 C# 语言高级编程。主要介绍开发程序时一些常用的异常及如何有效地使用异常处理机制。另外,还将会针对程序开发中常见的泛型、委托和事件进行介绍。

第14 章 Windows 窗体基础控件。从Windows 窗体应用程序开始介绍,详细介绍窗体程序中常用的窗体控件,例如文本标签控件、文本输入框控件、按钮控件、列表控件、选择控件、日期和时间控件等。

第15 章 构建MDI 窗体应用程序。详细介绍如何构建MDI 窗体应用程序,包括程序创建、窗体对话框以及常用的MDI 窗体控件等多项内容。

第16 章 ADO.NET 技术访问数据库。详细介绍ADO.NET 技术常用的数据库访问对象,例如SqlConnection、SqlCommand、SqlDataReader、SqlDataAdapter 以及DataSet 对象等。

第17 章 Windows 表格数据控件。针对DataGridView 控件和TreeView 控件进行详细介绍。主要内容包括控件的优点、常用属性、方法、事件以及实际开发中需要用到的操作等。

第18 章 数据流和文件的输入/ 输出。首先介绍数据流,接着介绍System.IO 命名空间,然后介绍如何针对文件和文件夹进行操作。

第19 章 三层架构实现汽车租赁系统。利用Visual Studio 2015 开发工具和SQL Server 2012 数据库开发基于三层架构的简单汽车租赁系统。汽车租赁系统包含用户登录、用户注册、发布汽车出租信息、完成汽车租赁、还车、取消发布信息、信息打印以及退出系统等多个功能模块。

本书特色

本书中的大量内容来自真实的程序范例,使读者更容易掌握C# 程序的设计和开发。本书难度适中,内容由浅入深,实用性强,覆盖面广,条理清晰。

知识点全

本书紧密围绕C# 语言展开讲解,具有很强的逻辑性和系统性。

实例丰富

书中各实例均经过作者精心设计和挑选,它们都是根据作者在实际开发中的经验总结而来的,涵盖了在实际开发中所遇到的各种问题。

应用广泛

对于精选案例,给出了详细步骤,结构清晰简明,分析深入浅出,而且有些程序能够直接在项目中使用,避免读者进行二次开发。

基于理论,注重实践

在讲述过程中,不单纯介绍理论知识,而且在合适位置安排有综合应用实例或者小型应用程序,将理论应用到实践当中,以加强读者的实际应用能力,巩固开发基础知识。

贴心的提示

为了便于读者阅读,书中还穿插了一些技巧、提示等小贴士,体例约定如下。

提示:通常是一些贴心的提醒,让读者加深印象,或提供建议及解决问题的方法。

注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。

技巧:通过简短的文字,指出知识点在应用时的一些小窍门。

读者对象

本书适合作为软件开发入门者的自学用书,也适合作为高等院校相关专业的教学参考书,还可供开发人员查阅、参考。本书尤其适合下列人员使用:

  •  C# 语言的初学者以及在校学生。

  •  各大中专院校的在校学生和相关授课老师。

  •  准备从事与C# 语言或ASP.NET 技术相关工作的人员。

本书由李鑫、祝惠娟编著,参与本书编写及设计工作的还有郑志荣、侯艳书、刘利利、侯政洪、肖进、李海燕、侯政云、祝红涛、崔再喜、贺春雷等,在此表示感谢。在本书的编写过程中,我们力求精益求精,但难免存在一些不足之处,敬请广大读者批评指正。

                                                                  编 者


目录



第1 章 C# 入门概述

1.1 C# 语言概述 .............................................. 2

1.1.1 什么是C# 语言 ................................. 2

1.1.2 C# 的发展历史 .................................. 2

1.1.3 C# 的优势分析 .................................. 2

1.1.4 如何学好C# 语言 ............................. 3

1.2 C# 环境——.NET 框架 ............................ 4

1.2.1 什么是.NET 框架 ............................. 4

1.2.2 .NET 框架的组件 .............................. 4

1.2.3 .NET 框架的版本 .............................. 5

1.2.4 .NET 框架的体系结构 ...................... 6

1.3 C# 开发——Visual Studio 2015 ............... 7

1.3.1 什么是Visual Studio ......................... 7

1.3.2 Visual Studio 的发展历程 ................. 8

1.3.3 Visual Studio 2015 的新功能 ............ 8

1.4 高手带你做——安装VS 2015 .............. 10

1.5 高手带你做——创建第一个控制台程序 ............................................. 14

1.6 认识C# 程序结构 ................................... 16

1.6.1 C# 程序结构组成 ............................ 16

1.6.2 创建和执行C# 程序 ....................... 17

1.7 高手带你做——通过记事本创建应用程序 ................................................. 17

1.8 高手带你做——创建Windows窗体应用程序 ......................................... 19

1.9 成长任务 ................................................. 21

 

第2 章 C# 基础语法

2.1 认识C# 语法 ........................................... 24

2.2 using 关键字 ............................................ 25

2.2.1 using 指令 ........................................ 25

2.2.2 常见的命名空间 ............................. 26

2.2.3 using 语句 ........................................ 27

2.2.4 高手带你做——using 语句的详细使用 .......................................... 28

2.3 namespace 关键字 ................................... 29

2.3.1 定义命名空间 ................................. 30

2.3.2 嵌套命名空间 ................................. 30

2.3.3 高手带你做——为自定义命名空间指定别名 .................................. 31

2.4 class 关键字 ............................................. 32

2.5 Main() 方法 ............................................. 32

2.6 Console 类 ............................................... 33

2.6.1 输出内容到控制台 ......................... 33

2.6.2 从控制台输入内容 ......................... 34

2.6.3 Console 类的其他方法 ................... 34

2.7 C# 语言注释 ............................................ 35

2.7.1 单行注释 ......................................... 35

2.7.2 多行注释 ......................................... 36

2.7.3 文档注释 ......................................... 36

2.8 C# 关键字 ................................................ 37

2.8.1 保留关键字 ..................................... 37

2.8.2 上下文关键字 ................................. 38

2.9 C# 预处理器指令 .................................... 38

2.9.1 C# 预处理器指令列表 .................... 38

2.9.2 #define 指令 ..................................... 39

2.9.3 条件指令 ......................................... 40

2.9.4 #region 指令 .................................... 41

2.10 高手带你做——根据输入内容返回结果 ................................................ 42

2.11 成长任务................................................ 44


第3 章 变量、常量与数据类型

3.1 变量 ......................................................... 46

3.1.1 声明变量 ......................................... 46

3.1.2 变量赋值 ......................................... 47

3.1.3 变量类型 ......................................... 47

3.2 常量 ......................................................... 50

3.2.1 常量概述 ......................................... 50

3.2.2 定义常量 ......................................... 51

3.3. 数据类型 ................................................ 53

3.3.1 数据类型分类 ................................. 53

3.3.2 基本数据类型 ................................. 54

3.3.3 枚举和结构类型 ............................. 57

3.4 数据类型转换 ......................................... 57

3.4.1 隐式转换 ......................................... 58

3.4.2 显式转换 ......................................... 60

3.5 高手带你做——Convert 类实现类型转换 ................................................. 62

3.6 成长任务 ................................................. 64


第4 章 运算符和表达式

4.1 基础运算符 ............................................. 66

4.1.1 算术运算符 ..................................... 66

4.1.2 关系运算符 ..................................... 67

4.1.3 逻辑运算符 ..................................... 68

4.1.4 赋值运算符 ..................................... 69

4.1.5 位运算符 ......................................... 71

4.2 高级运算符 ............................................. 73

4.2.1 自增运算符 ..................................... 74

4.2.2 自减运算符 ..................................... 74

4.2.3 杂项运算符 ..................................... 76

4.3 高手带你做——认识并使用三元运算符 ............................................. 77

4.4 运算符的优先级 ..................................... 77

4.5 表达式 ..................................................... 79

4.6 成长任务 ................................................. 80


第5 章 流程控制语句

5.1 语句概述 ................................................. 82

5.1.1 语句类型 ......................................... 82

5.1.2 空语句 ............................................. 83

5.2 if 选择语句 .............................................. 83

5.2.1 简单if 语句 ..................................... 83

5.2.2 if else 语句 ..................................... 85

5.2.3 if else if else 语句 ...................... 86

5.2.4 嵌套if 语句 ..................................... 87

5.3 高手带你做——根据输入的年龄判断信息 ................................................. 89

5.4 switch 选择语句 ...................................... 90

5.4.1 switch 语句 ...................................... 90

5.4.2 嵌套switch 语句 ............................. 92

5.4.3 switch 语句与if 语句的区别 ......... 94

5.5 循环语句 ................................................. 95

5.5.1 while 语句 ....................................... 95

5.5.2 do while 语句 .................................. 97

5.5.3 for 语句 ............................................ 99

5.5.4 foreach 语句 .................................. 102

5.6 高手带你做——循环打印点阵图形.... 104

5.7 跳转语句 ............................................... 106

5.7.1 return 语句 ..................................... 106

5.7.2 break 语句 ..................................... 107

5.7.3 continue 语句 ................................. 108

5.7.4 goto 语句 ....................................... 109

5.8 成长任务 ............................................... 111

 

第6 章 字符串与正则表达式

6.1 认识String 类 ........................................ 114

6.1.1 创建String 对象 ............................ 114

6.1.2 null 字符串和空字符串 ................ 115

6.1.3 String 类的属性 ............................. 116

6.2 字符串的基本操作 ............................... 116

6.2.1 连接字符串 ................................... 116

6.2.2 转换大小写 ................................... 119

6.2.3 去除空格 ....................................... 120

6.2.4 提取字符串 ................................... 120

6.2.5 分割字符串 ................................... 121

6.3 字符串的高级操作 ............................... 122

6.3.1 替换字符串 ................................... 122

6.3.2 比较字符串 ................................... 123

6.3.3 定位字符串 ................................... 124

6.3.4 格式化字符串 ............................... 126

6.4 高手带你做——验证指定的文件和邮箱 ........................................... 126

6.5 StringBuilder 类操作字符串 ................. 128

6.5.1 创建StringBuilder 对象 ................ 128

6.5.2 StringBuilder 类的属性 ................. 128

6.5.3 追加字符串 ................................... 130

6.5.4 插入字符串 ................................... 131

6.5.5 替换字符串 ................................... 132

6.5.6 删除字符串 ................................... 132

6.6 高手带你做——字符串加密和解密操作 ............................................... 133

6.7 正则表达式 ........................................... 136

6.7.1 正则元字符 ................................... 136

6.7.2 正则限定符 ................................... 137

6.7.3 正则表达式Regex 类 ................... 138

6.7.4 高手带你做——将人民币金额转换为大写汉字 .................... 142

6.8 成长任务 ............................................... 143


第7 章 数值处理和日期处理

7.1 数值处理——Math 类 .......................... 146

7.1.1 静态常量 ....................................... 146

7.1.2 求最值 ........................................... 146

7.1.3 求绝对值 ....................................... 146

7.1.4 求整数值 ....................................... 147

7.1.5 求三角函数 ................................... 148

7.1.6 Math 的其他方法 .......................... 149

7.2 伪随机数——Random 类 ..................... 149

7.2.1 初始化随机数生成器 ................... 149

7.2.2 生成随机数 ................................... 150

7.2.3 高手带你做——求随机数的平均值和方差 ................................ 151

7.3 日期处理——DateTime 结构 ............... 153

7.3.1 静态字段 ....................................... 153

7.3.2 静态属性 ....................................... 153

7.3.3 实例属性 ....................................... 154

7.3.4 静态方法 ....................................... 155

7.3.5 实例方法 ....................................... 156

7.3.6 ToString() 方法格式化日期 .......... 159

7.4 日期处理——TimeSpan 结构 .............. 160

7.4.1 静态字段 ....................................... 160

7.4.2 静态常量 ....................................... 161

7.4.3 实例属性 ....................................... 162

7.4.4 实例方法 ....................................... 163

7.4.5 高手带你做——基于TimeSpan实现倒计时效果 ............................ 165

7.5 高手带你做——根据年月输出日历.... 166

7.6 成长任务 ............................................... 167

 

第8 章 数组

8.1 数组概述 ............................................... 170

8.2 一维数组 ............................................... 170

8.2.1 声明数组 ....................................... 170

8.2.2 分配空间 ....................................... 171

8.2.3 初始化数组 ................................... 171

8.2.4 获取单个元素 ............................... 172

8.2.5 获取全部元素 ............................... 173

8.3 二维数组 ............................................... 174

8.3.1 声明数组 ....................................... 174

8.3.2 初始化数组 ................................... 175

8.3.3 获取单个元素 ............................... 175

8.3.4 获取全部元素 ............................... 176

8.4 高手带你做——二维数组如何实现矩阵乘法 ....................................... 177

8.5 多维数组 ............................................... 179

8.5.1 三维数组 ....................................... 179

8.5.2 交错数组 ....................................... 180

8.6 数组处理类 ........................................... 181

8.6.1 Array 类 ......................................... 182

8.6.2 ArrayList 类 ................................... 183

8.7 数组的基础操作 ................................... 185

8.7.1 添加元素 ....................................... 185

8.7.2 复制元素 ....................................... 186

8.7.3 反转元素 ....................................... 188

8.7.4 移除元素 ....................................... 190

8.7.5 清除元素 ....................................... 191

8.8 数组排序 ............................................... 192

8.8.1 内置排序法 ................................... 192

8.8.2 冒泡排序法 ................................... 192

8.8.3 快速排序法 ................................... 194

8.8.4 选择排序法 ................................... 195

8.8.5 插入排序算法 ............................... 196

8.9 高手带你做——商品信息查询功能.... 197

8.10 成长任务 ............................................. 199

 

第9 章 内置集合和自定义集合

9.1 集合概述 ............................................... 202

9.2 Hashtable 集合 ...................................... 203

9.2.1 Hashtable 的常用属性 .................. 203

9.2.2 Hashtable 的常用方法 .................. 203

9.2.3 Hashtable 的基本操作 .................. 203

9.3 SortedList 集合 ...................................... 206

9.3.1 SortedList 集合类的常用属性 ...... 207

9.3.2 SortedList 集合的常用方法 .......... 207

9.3.3 SortedList 基本操作 ...................... 208

9.4 Stack 集合 ............................................. 212

9.4.1 Stack 的常用方法 ......................... 212

9.4.2 Stack 的基本操作 ......................... 212

9.5 Queue 集合 ............................................ 214

9.5.1 Queue 的常用方法 ........................ 214

9.5.2 Queue 的基本操作 ........................ 214

9.6 BitArray 集合 ........................................ 216

9.7 高手带你做——用户自定义集合操作数据 ....................................... 217

9.8 成长任务 ............................................... 220


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。