图书目录

第1篇  基础知识

第1章  步入C#编程世界——Hello C# 002

◎ 本章教学微视频:13个  21分钟

1.1  认识C#语言 002

1.1.1 C#的发展史 002

1.1.2 C#的特点 003

1.1.3 C#典型行业应用 004

1.2  .NET Framework 004

1.2.1 .NET Framework发展史 004

1.2.2 .NET Framework的组成 006

1.2.3 C#与.NET Framework 006

1.3  C#程序开发工具——集成开发环境

         Visual Studio 2017 007

1.3.1  Visual Studio 2017的安装 007

1.3.2 Visual Studio 2017的卸载 010

1.3.3 Visual Studio 2017集成开发环境 011

1.4  编写第一个C#应用程序——Hello,C# 014

1.4.1 新建项目 014

1.4.2 添加程序语句 015

1.4.3 运行程序 016

1.5  控制台应用程序的输入与输出 016

1.6  就业面试技巧与解析 018

1.6.1 面试技巧与解析(一) 018

1.6.2 面试技巧与解析(二) 018

第2章  剖析Hello C#——第一个C#程序 019

◎ 本章教学微视频:14个  24分钟

2.1  C#的程序结构 019

2.2  C#基本语法 020

2.2.1 命名空间、标识符及关键字 020

2.2.2 类名 022

2.2.3 Main方法 023

2.2.4 代码注释 024

2.2.5 C#语句 024

2.3  C#代码编写规范 025

2.3.1 命名规范 025

2.3.2 namespace的命名规范 027

2.3.3 类的命名规范 028

2.3.4 接口的命名规范 028

2.3.5 方法的命名规范 028

2.3.6 不同变量使用前缀区分 029

2.3.7 注释规范 029

2.3.8 布局规范 030

2.4  就业面试技巧与解析 032

2.4.1 面试技巧与解析(一) 032

2.4.2 面试技巧与解析(二) 032

第3章  C#程序开发基础——常量与变量 033

◎ 本章教学微视频:14个  30分钟

3.1  常量 033

3.1.1 整数常量 033

3.1.2 字符常量 034

3.1.3 字符串常量 035

3.1.4 浮点常量 037

3.1.5 常量的定义 037

3.2  变量 038

3.2.1 变量的声明 038

3.2.2 变量的定义 039

3.2.3 变量的初始化 039

3.2.4 C#中的左值和右值 040

3.3  变量的类型 040

3.3.1 值类型 040

3.3.2 引用类型 044

3.3.3 值类型与引用类型的区别 045

3.3.4 枚举类型 046

3.3.5 变量的作用域 047

3.4  就业面试技巧与解析 048

3.4.1 面试技巧与解析(一) 048

3.4.2 面试技巧与解析(二) 048

第4章  C#程序开发基础——数据类型与运算符 049

◎ 本章教学微视频:16个  38分钟

4.1  数据类型概述 049

4.2  数据类型之间的转换 052

4.2.1 隐式转换 052

4.2.2 显式转换 053

4.2.3 使用Convert进行任意类转换 055

4.2.4 数值和字符串之间的转换 056

4.2.5 Convert.ToInt32()、(int)与int.Parse()的

               区别 057

4.3  其他常用类型 058

4.3.1 日期和时间 058

4.3.2 全局唯一标识符 061

4.3.3 统一资源标识符 062

4.4  运算符 064

4.4.1 算术运算符 064

4.4.2 赋值运算符 066

4.4.3 关系运算符 068

4.4.4 逻辑运算符 069

4.4.5 位运算符 071

4.4.6 特殊运算符 073

4.4.7 运算符优先级 077

4.5  就业面试技巧与解析 079

4.5.1 面试技巧与解析(一) 079

4.5.2 面试技巧与解析(二) 080

第2篇  核心应用

第5章  C#程序开发基础——程序流程控制 082

◎ 本章教学微视频:12个  32分钟

5.1  顺序语句 082

5.2  分支选择语句 083

5.2.1 if条件语句 083

5.2.2 switch语句 088

5.3  循环语句 092

5.3.1 while循环语句 092

5.3.2 do…while循环语句 093

5.3.3 for循环语句 094

5.3.4 foreach循环语句 096

5.4  嵌套循环语句 097

5.5  跳转语句 099

5.5.1 break跳转语句 099

5.5.2 continue跳转语句 100

5.5.3 return跳转语句 101

5.5.4 goto语句 102

5.6  就业面试技巧与解析 103

5.6.1 面试技巧与解析(一) 104

5.6.2 面试技巧与解析(二) 104

第6章  C#基本数据结构——数组 105

◎ 本章教学微视频:15个  29分钟

6.1  数组概述 105

6.2  一维数组的声明和使用 106

6.2.1 一维数组的声明 106

6.2.2 一维数组的使用 107

6.3  二维数组的声明和使用 108

6.3.1 二维数组的声明 108

6.3.2 二维数组的使用 109

6.3.3  动态二维数组的声明及使用 111

6.4  特殊数组 112

6.4.1 多维数组 112

6.4.2 交错数组 113

6.5 传递数组给函数 114

6.6  参数数组 115

6.7  Array类 116

6.7.1 Array类的属性及方法 116

6.7.2 遍历数组 118

6.7.3 查找数组元素 119

6.7.4 数组排序 120

6.7.5 数组合并与拆分 120

6.8  就业面试技巧与解析 122

6.8.1 面试技巧与解析(一) 122

6.8.2 面试技巧与解析(二) 122

第7章  面向对象编程——类与对象 123

◎ 本章教学微视频:18个  46分钟

7.1  方法 123

7.1.1 方法的声明 123

7.1.2 C#中调用方法 124

7.1.3 传递参数 126

7.1.4 方法的分类 129

7.1.5 外部方法 130

7.1.6 Main方法 131

7.2  类与对象 132

7.2.1 类的定义 132

7.2.2 类的实例化 133

7.2.3 类的成员 134

7.2.4 字段的使用 134

7.2.5 属性 136

7.2.6 分部类与方法 139

7.3  构造函数和析构函数 140

7.3.1 构造函数 140

7.3.2 析构函数 142

7.4  虚方法与重写方法 143

7.5  方法的重载 145

7.6  结构体 146

7.6.1 结构体的定义和使用 146

7.6.2 类与结构体的区别 147

7.7  就业面试技巧与解析 149

7.7.1 面试技巧与解析(一) 149

7.7.2 面试技巧与解析(二) 150

第8章  深入了解面向对象——面向对象的重要

特征 151

◎ 本章教学微视频:19个  51分钟

8.1  面向对象概述 151

8.2  类的继承 152

8.2.1 基类和派生类 152

8.2.2 继承的特性 153

8.2.3 调用基类的构造函数 156

8.3  类的封装 158

8.3.1 public公开的 159

8.3.2 private私有的 159

8.3.3 protected受保护的 160

8.3.4 internal内部访问 161

8.4  多态 162

8.5  接口 163

8.5.1 接口的声明 163

8.5.2 接口的实现 164

8.5.3 接口的继承 166

8.6  抽象类和密封类 169

8.6.1 抽象类和抽象方法 169

8.6.2 抽象类与接口的区别 171

8.6.3 密封类和密封方法 172

8.7  委托与事件 175

8.7.1 委托 175

8.7.2 事件 178

8.8  匿名方法与Lambda表达式 180

8.8.1 匿名方法 180

8.8.2 Lambda表达式 181

8.9  就业面试技巧与解析 183

8.9.1 面试技巧与解析(一) 183

8.9.2 面试技巧与解析(二) 183

第3篇  核心技术

第9章  字符串与正则表达式 186

◎ 本章教学微视频:28个  43分钟

9.1  字符串简介 186

9.2  字符串的操作 187

9.2.1 字符串的大小写转换 187

9.2.2 字符串的比较 188

9.2.3 字符串的格式化 190

9.2.4 字符串的截取 192

9.2.5 字符串的分割 192

9.2.6 字符串的合并 193

9.2.7 字符串的插入与填充 194

9.2.8 字符串的删除 195

9.2.9 字符串的修剪 196

9.2.10 字符串的复制 197

9.2.11 字符串的替换 198

9.2.12 字符串的查找 199

9.3  StringBuilder类 200

9.3.1 StringBuilder类的定义 200

9.3.2 设置StringBuilder类的容量 200

9.3.3 追加操作 201

9.3.4 插入操作 202

9.3.5 删除操作 202

9.3.6 替换操作 202

9.4  正则表达式 203

9.4.1 正则表达式简介 203

9.4.2 正则表达式的组成 203

9.4.3 正则表达式的优先级 205

9.5  正则表达式匹配规则 205

9.5.1 字符匹配 206

9.5.2 中括号表达式 206

9.5.3 重复匹配 207

9.5.4 替换和分组 208

9.6  正则表达式涉及的基本类 208

9.6.1 Regex类 208

9.6.2 Match类 209

9.7  就业面试技巧与解析 211

9.7.1 面试技巧与解析(一) 211

9.7.2 面试技巧与解析(二) 212

第10章  特殊的类——集合与泛型 213

◎ 本章教学微视频:12个  26分钟

10.1  认识集合 213

10.2  常用集合类型 214

10.2.1 动态数组 214

10.2.2 堆栈(Stack)类 218

10.2.3 队列(Queue)类 219

10.2.4 哈希表(Hashtable)类 221

10.3  泛型 225

10.3.1 泛型的概述 225

10.3.2 泛型的特点 226

10.3.3 类型参数T 227

10.3.4 泛型集合 227

10.3.5 Dictionary类 230

10.4  泛型接口 232

10.5  泛型方法 233

10.6  就业面试技巧与解析 234

10.6.1 面试技巧与解析(一) 235

10.6.2 面试技巧与解析(二) 235

第11章   应用程序界面开发基础——窗体控件 236

◎ 本章教学微视频:23个  59分钟

11.1  Form窗体 236

11.1.1 创建WinForm程序 236

11.1.2 窗体的添加与删除 238

11.1.3 窗体的属性 239

11.1.4 窗体的常用事件 242

11.1.5 窗体的显示和隐藏 244

11.2  MDI窗体 245

11.2.1 MDI窗体的概念 245

11.2.2 设置MDI窗体 245

11.2.3 排列MDI窗体 247

11.3  文件类控件 249

11.3.1 标签控件 249

11.3.2 按钮控件 251

11.3.3 文本框控件 252

11.3.4 有格式文本控件 254

11.4  选择类控件 258

11.4.1 下拉组合框控件 258

11.4.2 复选框控件 260

11.4.3 单选按钮控件 261

11.4.4 数值选择控件 263

11.4.5 列表控件 264

11.5  分组类控件 267

11.5.1 容器控件 267

11.5.2 分组框控件 269

11.5.3 选项卡控件 270

11.6  菜单栏、工具栏和状态栏控件 272

11.6.1 菜单控件 272

11.6.2 工具栏控件 273

11.6.3 状态栏控件 273

11.7  就业面试技巧与解析 274

11.7.1 面试技巧与解析(一) 274

11.7.2 面试技巧与解析(二) 274

第12章  应用程序界面开发进阶——高级窗体

 控件 275

◎ 本章教学微视频:16个  28分钟

12.1  图形和图像类控件 275

12.1.1 ImageList控件 275

12.1.2 PictureBox控件 276

12.2  列表视图控件 278

12.2.1 创建列表视图控件 278

12.2.2 使用列表视图控件 279

12.3  树视图控件 284

12.3.1 添加和删除树节点 284

12.3.2 为树控件中的节点设置图标 286

12.4  DateTimePicker控件 287

12.4.1  使用DateTimePicker控件显示

                时间 287

12.4.2  使用DateTimePicker控件以自定义

                格式显示时间 288

12.4.3  返回DateTimePicker控件中选择的

                日期 289

12.5  MonthCalender控件 290

12.5.1  更改MonthCalender控件的外观 290

12.5.2  在MonthCalender控件中显示多个

                月份 292

12.5.3  在MonthCalender控件中选择日期

                范围 292

12.6  其他高级控件 293

12.6.1  使用ErrorProvider控件验证文本框

                输入 293

12.6.2  使用HelpProvider控件调用帮助

                文件 295

12.6.3  使用Timer控件设置时间间隔 297

12.6.4  使用ProgressBar控件程序运行

                进度条 299

12.7  就业面试技巧与解析 300

12.7.1 面试技巧与解析(一) 300

12.7.2 面试技巧与解析(二) 300

第4篇  高级应用

第13章  C#文件操作——文件、数据流与

 注册表 302

◎ 本章教学微视频:23个  40分钟

13.1  文件系统 302

13.1.1 System.IO命名空间 302

13.1.2 File类与FileInfo类 303

13.1.3 Directory类与DirectoryInfo类 305

13.2  文件的基本操作 306

13.2.1 判断文件是否存在 306

13.2.2 创建文件 307

13.2.3 复制或移动文件 308

13.2.4 删除文件 311

13.2.5 获取文件的基本信息 312

13.3  文件夹的基本操作 313

13.3.1 判断文件夹是否存在 313

13.3.2 创建文件夹 314

13.3.3 移动文件夹 315

13.3.4 文件夹的删除 316

13.3.5 获取文件夹的基本信息 317

13.4  数据流 319

13.4.1 流操作类介绍 319

13.4.2 文件流类 319

13.4.3 文本文件的写入与读取 320

13.4.4 二进制文件的写入与读取 322

13.5  注册表基础 324

13.5.1 Windows注册表 324

13.5.2 注册表的基本结构 324

13.5.3 实现访问注册表的两大类 325

13.6  注册表的操作基础 326

13.6.1 读取注册表信息 326

13.6.2 新增注册表信息 329

13.6.3 删除注册表信息 330

13.7  就业面试技巧与解析 331

13.7.1 面试技巧与解析(一) 332

13.7.2 面试技巧与解析(二) 332

第14章  C#多线程编程技术——多线程操作 333

◎ 本章教学微视频:8个  18分钟

14.1  进程与线程 333

14.1.1 进程的概念 333

14.1.2 线程的概念 334

14.1.3 Thread类 335

14.2  线程的基本操作 336

14.2.1 创建线程 336

14.2.2 线程休眠 337

14.2.3 线程的挂起与恢复 338

14.2.4 终止线程 340

14.2.5 线程的优先级 342

14.3  就业面试技巧与解析 344

14.3.1 面试技巧与解析(一) 344

14.3.2 面试技巧与解析(二) 344

第15章  让程序运行更稳健——异常、调试和

 测试 345

◎ 本章教学微视频:8个  14分钟

15.1  异常处理语句 345

15.1.1 异常处理 345

15.1.2 捕获异常 346

15.1.3 清除、处理异常 346

15.1.4 引发异常 348

15.2  C#中的异常类 349

15.3  程序调试 351

15.3.1 断点调试 352

15.3.2 开始、中断和停止程序的执行 352

15.3.3 逐过程执行和逐语句执行 354

15.4  就业面试技巧与解析 354

15.4.1 面试技巧与解析(一) 354

15.4.2 面试技巧与解析(二) 354

第16章  程序开发最后环节——部署与打包应用

 程序 355

◎ 本章教学微视频:7个  9分钟

16.1  Windows Installer介绍 355

16.2  创建Windows安装程序 356

16.3  制作Windows安装程序 357

16.3.1 添加项目输出文件 357

16.3.2 添加内容文件 357

16.3.3 创建快捷方式 358

16.3.4 添加注册表 360

16.3.5 生成Windows安装程序 361

16.4  就业面试技巧与解析 361

16.4.1 面试技巧与解析(一) 362

16.4.2 面试技巧与解析(二) 362

第5篇  项目实践

第17章  软件工程师必备素养与技能 364

◎ 本章教学微视频:29个  48分钟

17.1  软件工程师的基本素养 364

17.1.1 具备计算机基础能力 365

17.1.2 掌握一门编程语言 365

17.1.3 熟悉计算机数据存储过程 365

17.1.4 较强的英语阅读和写作能力 365

17.1.5 软件开发及测试环境搭建能力 365

17.1.6 熟悉软件测试基本理论及任务

                分配 366

17.2  个人素质必修课程 366

17.2.1 语言表达及沟通能力 366

17.2.2 过硬的心理素质 366

17.2.3 责任心与自信心 367

17.2.4 团队协作能力 367

17.3  项目开发流程 367

17.3.1 策划阶段 367

17.3.2 需求分析阶段 368

17.3.3 开发阶段 369

17.3.4 编码阶段 369

17.3.5  系统测试阶段 369

17.3.6  系统验收阶段 369

17.3.7  系统维护阶段 370

17.4  项目开发团队 370

17.4.1  项目团队构建 370

17.4.2  项目团队要求 371

17.5  项目的实际开发流程 371

17.6  项目规划常见问题及解决 373

17.6.1 如何满足客户需求 373

17.6.2 如何控制项目进度 374

17.6.3 如何控制项目预算 374

第18章  Windows计算器的制作 375

◎ 本章教学微视频:4个  7分钟

18.1  系统功能描述 375

18.2  系统功能分析及实现 376

18.2.1  功能分析 376

18.2.2  功能实现 376

18.3  运行程序 384

第19章  自助取款机系统 385

◎ 本章教学微视频:3个  7分钟

19.1  系统功能描述 385

19.2  系统功能分析及实现 386

19.2.1  功能分析 386

19.2.2  功能实现 387

19.3  运行程序 394

第20章  扫雷游戏 395

◎ 本章教学微视频:3个  7分钟

20.1  系统功能描述 395

20.2  系统功能分析及实现 396

20.2.1  功能分析 396

20.2.2  功能实现 396

20.3  运行程序 404