C#完全自学教程 封面

C#完全自学教程

评分 3.5
字数
9.5万字
章节数
359
ISBN
9787115572486

标签

内容简介

本书从初学者角度出发,通过通俗易懂的语言和大量生动典型的实例,由浅入深、循序渐进地介绍使用C#进行WinForms程序开发的常用技术和方法。全书共16章,包括搭建C#开发环境、第一个C#程序、数据类型、运算符、条件语句、循环语句、数组、字符串、面向对象编程基础、面向对象编程进阶、Windows窗体编程、Windows控件的使用、数据库基础、使用C#操作数据库、文件及文件夹操作、库存管理系统等内容。

本书附有配套资源包。配套资源包提供了书中所有实例和项目的源代码,全部源代码都经过精心调试,在Windows 7/Windows 10等操作系统下均能够正常运行;另外还提供了全程视频讲解,读者可以边看边学,以提高学习效率。本书适用于C#初中级用户,也可作为大中专院校相关专业和培训机构的教材。对于程序开发爱好者,本书也有非常高的参考价值。

编辑推荐

这是一本典型的入门型教程:从搭建开发环境、第一个C#程序讲起,依次覆盖数据类型、运算符、条件与循环、数组与字符串,再进入面向对象基础与进阶,最后落到Windows窗体编程、控件使用、数据库操作、文件与文件夹操作,并以库存管理系统作为综合案例收尾。结构上的优点是路径清晰、章节顺序贴合初学者的认知节奏,实例驱动而非纯语法罗列;配套资源提供全部源代码与视频讲解,代码经过调试可在常见Windows系统下运行,边看边敲的效率较高。需要注意的是,本书聚焦WinForms桌面开发,不涉及Web、移动端或较新的.NET跨平台内容,读者应把它当作C#语言与桌面应用开发的入门台阶。适合作为院校教材或自学主线,配合动手练习效果最好。

适合谁读

适合

  • 零基础或初学C#的读者,需要一条从语法到窗体的完整学习路径
  • 大中专院校相关专业学生与培训机构学员,可作为课程教材使用
  • 有编程入门基础、想转向C#桌面开发的开发者
  • 需要配套源码与视频、偏好边看边练的自学者

不适合

  • 已有C#开发经验、想深入.NET高级特性或架构设计的读者
  • 希望学习Web开发、移动端或跨平台.NET的读者,本书不涉及
  • 需要最新语言版本前沿特性讲解的读者,内容以基础与WinForms为主

阅读建议

  1. 按章节顺序推进,每章代码至少亲手敲一遍,不要只读不练
  2. 学完面向对象两章后暂停,用一个小项目巩固类、继承与封装
  3. 把库存管理系统案例拆成模块分步实现,再回看书中对应章节
  4. 遇到报错先对照配套源码排查环境与版本差异,再查语法原因

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  1. 版权信息
  2. 内容提要
  3. 前言
  4. 第1章 搭建C#开发环境
  5. 1.1 C#概述
  6. 1.1.1 C#语言及其特点
  7. 1.1.2 认识.NET Framework
  8. 1.1.3 C#与.NET Framework
  9. 1.1.4 C#的应用领域
  10. 1.2 Visual Studio 2019的下载及安装
  11. 1.2.1 安装Visual Studio 2019的必备条件
  12. 1.2.2 下载Visual Studio 2019
  13. 1.2.3 安装Visual Studio 2019
  14. 1.2.4 卸载Visual Studio 2019
  15. 1.3 熟悉Visual Studio 2019开发环境
  16. 1.3.1 创建控制台应用程序
  17. 1.3.2 菜单栏
  18. 1.3.3 工具栏
  19. 1.3.4 解决方案资源管理器
  20. 1.3.5 “工具箱”窗口
  21. 1.3.6 “属性”窗口
  22. 1.3.7 “错误列表”窗口
  23. 1.4 课后测试
  24. 第2章 第一个C#程序
  25. 2.1 编写第一个C#程序
  26. 2.2 C#程序结构预览
  27. 2.2.1 命名空间
  28. 2.2.2 类
  29. 2.2.3 关键字与标识符
  30. 2.2.4 Main方法
  31. 2.2.5 C#语句
  32. 2.2.6 注释
  33. 2.2.7 一个完整的C#程序
  34. 2.3 程序编写规范
  35. 2.3.1 代码编写规则
  36. 2.3.2 命名规范
  37. 2.4 课后测试
  38. 2.5 上机实战
  39. 第3章 数据类型
  40. 3.1 数据类型及变量
  41. 3.1.1 变量是什么
  42. 3.1.2 声明变量
  43. 3.1.3 简单数据类型
  44. 3.1.4 变量的初始化
  45. 3.1.5 变量的作用域
  46. 3.2 常量
  47. 3.2.1 常量是什么
  48. 3.2.2 常量的分类
  49. 3.3 数据类型转换
  50. 3.3.1 隐式类型转换
  51. 3.3.2 显式类型转换
  52. 3.3.3 使用Convert类进行转换
  53. 3.4 课后测试
  54. 3.5 上机实战
  55. 第4章 运算符
  56. 4.1 算术运算符
  57. 4.2 自增、自减运算符
  58. 4.3 赋值运算符
  59. 4.4 关系运算符
  60. 4.5 逻辑运算符
  61. 4.6 位运算符
  62. 4.7 移位运算符
  63. 4.8 条件运算符
  64. 4.9 运算符优先级与结合性
  65. 4.10 课后测试
  66. 4.11 上机实战
  67. 第5章 条件语句
  68. 5.1 if条件判断语句
  69. 5.1.1 决策分支
  70. 5.1.2 if语句
  71. 5.2 switch多分支语句
  72. 5.2.1 switch语句
  73. 5.2.2 switch与if…else if…else语句的区别
  74. 5.3 课后测试
  75. 5.4 上机实战
  76. 第6章 循环语句
  77. 6.1 while循环
  78. 6.2 do…while循环
  79. 6.2.1 do…while循环的语法
  80. 6.2.2 while和do…while语句的区别
  81. 6.3 for循环
  82. 6.3.1 for循环的一般形式
  83. 6.3.2 for循环的变体
  84. 6.3.3 for循环中逗号的应用
  85. 6.4 循环的嵌套
  86. 6.5 跳转语句
  87. 6.5.1 break语句
  88. 6.5.2 continue语句
  89. 6.5.3 goto语句
  90. 6.5.4 continue和break语句的区别
  91. 6.6 课后测试
  92. 6.7 上机实战
  93. 第7章 数组
  94. 7.1 一维数组
  95. 7.1.1 数组概述
  96. 7.1.2 一维数组的创建
  97. 7.1.3 一维数组的初始化
  98. 7.1.4 一维数组的使用
  99. 7.2 二维数组
  100. 7.2.1 二维数组的创建
  101. 7.2.2 二维数组的初始化
  102. 7.2.3 二维数组的使用
  103. 7.2.4 不规则数组的定义
  104. 7.2.5 获取二维数组的列数
  105. 7.3 数组与Array类
  106. 7.4 数组的基本操作
  107. 7.4.1 数组的输入与输出
  108. 7.4.2 使用foreach语句遍历数组
  109. 7.4.3 对数组进行排序
  110. 7.5 数组排序算法
  111. 7.5.1 冒泡排序算法
  112. 7.5.2 选择排序算法
  113. 7.6 课后测试
  114. 7.7 上机实战
  115. 第8章 字符串
  116. 8.1 字符串的声明与初始化
  117. 8.1.1 声明字符串
  118. 8.1.2 字符串的初始化
  119. 8.2 获取字符串信息
  120. 8.2.1 获取字符串长度
  121. 8.2.2 获取指定位置的字符
  122. 8.2.3 获取子字符串索引位置
  123. 8.2.4 判断字符串首尾内容
  124. 8.3 字符串操作
  125. 8.3.1 字符串的拼接
  126. 8.3.2 比较字符串
  127. 8.3.3 字符串的大小写转换
  128. 8.3.4 格式化字符串
  129. 8.3.5 截取字符串
  130. 8.3.6 分割字符串
  131. 8.3.7 插入及填充字符串
  132. 8.3.8 删除字符串
  133. 8.3.9 去除空白内容
  134. 8.3.10 复制字符串
  135. 8.3.11 替换字符串
  136. 8.4 可变字符串类
  137. 8.4.1 StringBuilder类的定义
  138. 8.4.2 StringBuilder类的使用
  139. 8.4.3 StringBuilder类与string类的区别
  140. 8.5 课后测试
  141. 8.6 上机实战
  142. 第9章 面向对象编程基础
  143. 9.1 认识面向对象
  144. 9.1.1 对象
  145. 9.1.2 类
  146. 9.1.3 面向对象技术的基本思想
  147. 9.1.4 面向对象程序设计的特点
  148. 9.1.5 了解面向过程编程
  149. 9.2 类
  150. 9.2.1 类的声明
  151. 9.2.2 类的成员
  152. 9.2.3 访问修饰符
  153. 9.2.4 构造函数
  154. 9.2.5 析构函数
  155. 9.3 方法
  156. 9.3.1 方法的声明
  157. 9.3.2 方法的参数
  158. 9.3.3 重载方法
  159. 9.4 类的静态成员
  160. 9.5 对象的创建及使用
  161. 9.5.1 对象的创建
  162. 9.5.2 访问对象的属性和行为
  163. 9.5.3 对象的销毁
  164. 9.5.4 this关键字
  165. 9.5.5 类与对象的关系
  166. 9.6 课后测试
  167. 9.7 上机实战
  168. 第10章 面向对象编程进阶
  169. 10.1 继承
  170. 10.1.1 使用继承
  171. 10.1.2 base关键字
  172. 10.1.3 继承中的构造函数与析构函数
  173. 10.2 多态
  174. 10.2.1 虚方法的重写
  175. 10.2.2 抽象类与抽象方法
  176. 10.3 接口
  177. 10.3.1 接口的概念及声明
  178. 10.3.2 接口的实现与继承
  179. 10.3.3 显式接口成员实现
  180. 10.3.4 抽象类与接口
  181. 10.4 委托和匿名方法
  182. 10.4.1 委托
  183. 10.4.2 匿名方法
  184. 10.5 泛型
  185. 10.5.1 为什么要使用泛型
  186. 10.5.2 泛型类型参数
  187. 10.5.3 泛型方法
  188. 10.5.4 泛型类
  189. 10.6 课后测试
  190. 10.7 上机实战
  191. 第11章 Windows窗体编程
  192. 11.1 开发应用程序的步骤
  193. 11.2 Form窗体
  194. 11.2.1 添加和删除窗体
  195. 11.2.2 多窗体的使用
  196. 11.2.3 窗体的属性
  197. 11.2.4 窗体的显示与隐藏
  198. 11.2.5 窗体的事件
  199. 11.3 MDI窗体
  200. 11.3.1 MDI窗体的概念
  201. 11.3.2 如何设置MDI窗体
  202. 11.3.3 排列MDI子窗体
  203. 11.4 课后测试
  204. 11.5 上机实战
  205. 第12章 Windows控件的使用
  206. 12.1 控件基础
  207. 12.1.1 控件概述
  208. 12.1.2 控件的相关操作
  209. 12.2 文本类控件
  210. 12.2.1 Label控件
  211. 12.2.2 TextBox控件
  212. 12.2.3 RichTextBox控件
  213. 12.3 按钮类控件
  214. 12.3.1 Button控件
  215. 12.3.2 RadioButton控件
  216. 12.3.3 CheckBox控件
  217. 12.4 列表类控件
  218. 12.4.1 ComboBox控件
  219. 12.4.2 ListBox控件
  220. 12.4.3 ListView控件
  221. 12.5 ImageList控件
  222. 12.6 容器控件
  223. 12.6.1 GroupBox控件
  224. 12.6.2 TabControl控件
  225. 12.7 TreeView控件
  226. 12.8 Timer控件
  227. 12.9 ProgressBar控件
  228. 12.10 菜单、工具栏和状态栏控件
  229. 12.10.1 MenuStrip控件
  230. 12.10.2 ToolStrip控件
  231. 12.10.3 StatusStrip 控件
  232. 12.11 消息框
  233. 12.12 对话框控件
  234. 12.12.1 打开对话框控件
  235. 12.12.2 另存为对话框控件
  236. 12.12.3 浏览文件夹对话框控件
  237. 12.13 课后测试
  238. 12.14 上机实战
  239. 第13章 数据库基础
  240. 13.1 SQL Server数据库
  241. 13.1.1 SQL Server 数据库概述
  242. 13.1.2 下载及安装SQL Server
  243. 13.2 数据库常见操作
  244. 13.2.1 创建数据库
  245. 13.2.2 删除数据库
  246. 13.2.3 附加数据库
  247. 13.2.4 分离数据库
  248. 13.2.5 执行SQL脚本
  249. 13.3 数据表常见操作
  250. 13.3.1 创建数据表
  251. 13.3.2 删除数据表
  252. 13.3.3 重命名数据表
  253. 13.3.4 在表结构中添加新字段
  254. 13.3.5 在表结构中删除字段
  255. 13.4 数据的增删改查
  256. 13.4.1 查看数据
  257. 13.4.2 录入数据
  258. 13.4.3 修改数据
  259. 13.4.4 删除数据
  260. 13.5 SQL语句基础
  261. 13.5.1 SQL语言简介
  262. 13.5.2 简单SQL语句的应用
  263. 13.6 课后测试
  264. 13.7 上机实战
  265. 第14章 使用C#操作数据库
  266. 14.1 ADO.NET概述
  267. 14.1.1 ADO.NET对象模型
  268. 14.1.2 数据访问命名空间
  269. 14.2 Connection数据连接对象
  270. 14.2.1 熟悉Connection对象
  271. 14.2.2 数据库连接字符串
  272. 14.2.3 应用Connection对象连接数据库
  273. 14.3 Command命令执行对象
  274. 14.3.1 熟悉Command对象
  275. 14.3.2 应用Command对象操作数据
  276. 14.3.3 应用Command对象调用存储过程
  277. 14.4 DataReader数据读取对象
  278. 14.4.1 DataReader对象概述
  279. 14.4.2 使用DataReader对象检索数据
  280. 14.5 DataSet对象和DataAdapter操作对象
  281. 14.5.1 DataSet对象
  282. 14.5.2 DataAdapter对象
  283. 14.5.3 填充DataSet数据集
  284. 14.5.4 DataSet对象与DataReader对象的区别
  285. 14.6 DataGridView控件的使用
  286. 14.7 Entity Framework编程
  287. 14.7.1 什么是Entity Framework
  288. 14.7.2 Entity Framework实体数据模型
  289. 14.7.3 Entity Framework运行环境
  290. 14.7.4 创建实体数据模型
  291. 14.7.5 通过EF对数据表进行基本操作
  292. 14.7.6 EF相对于ADO.NET的优势
  293. 14.8 课后测试
  294. 14.9 上机实战
  295. 第15章 文件及文件夹操作
  296. 15.1 System.IO命名空间
  297. 15.2 文件基本操作
  298. 15.2.1 File类
  299. 15.2.2 FileInfo类
  300. 15.2.3 判断文件是否存在
  301. 15.2.4 创建文件
  302. 15.2.5 复制文件
  303. 15.2.6 移动文件
  304. 15.2.7 删除文件
  305. 15.2.8 获取文件基本信息
  306. 15.3 文件夹基本操作
  307. 15.3.1 Directory类
  308. 15.3.2 DirectoryInfo类
  309. 15.3.3 判断文件夹是否存在
  310. 15.3.4 创建文件夹
  311. 15.3.5 移动文件夹
  312. 15.3.6 删除文件夹
  313. 15.3.7 遍历文件夹
  314. 15.4 I/O数据流
  315. 15.4.1 流概述
  316. 15.4.2 文件流
  317. 15.4.3 文本文件的读写
  318. 15.5 课后测试
  319. 15.6 上机实战
  320. 第16章 库存管理系统
  321. 16.1 开发背景
  322. 16.2 需求分析
  323. 16.3 系统设计
  324. 16.3.1 系统目标
  325. 16.3.2 系统功能结构
  326. 16.3.3 业务流程图
  327. 16.3.4 业务逻辑编码规则
  328. 16.3.5 程序运行环境
  329. 16.3.6 系统预览
  330. 16.4 数据库设计
  331. 16.4.1 数据库概要说明
  332. 16.4.2 数据库概念设计
  333. 16.4.3 数据库逻辑设计
  334. 16.5 公共类设计
  335. 16.5.1 程序文件架构
  336. 16.5.2 DataCon类
  337. 16.5.3 DataOperate类
  338. 16.6 供应商信息设置模块设计
  339. 16.6.1 供应商信息设置模块概述
  340. 16.6.2 供应商信息设置模块技术分析
  341. 16.6.3 供应商信息设置模块实现过程
  342. 16.7 货物入库管理模块设计
  343. 16.7.1 货物入库管理模块概述
  344. 16.7.2 货物入库管理模块技术分析
  345. 16.7.3 货物入库管理模块实现过程
  346. 16.8 货物出库管理模块设计
  347. 16.8.1 货物出库管理模块概述
  348. 16.8.2 货物出库管理模块技术分析
  349. 16.8.3 货物出库管理模块实现过程
  350. 16.9 库存信息查询模块设计
  351. 16.9.1 库存信息查询模块概述
  352. 16.9.2 库存信息查询模块技术分析
  353. 16.9.3 库存信息查询模块实现过程
  354. 16.10 出入库货物年统计模块设计
  355. 16.10.1 出入库货物年统计模块概述
  356. 16.10.2 出入库货物年统计模块技术分析
  357. 16.10.3 出入库货物年统计模块实现过程
  358. 16.11 文件清单
  359. 16.12 本章总结

常见问题

完全没有编程基础能学这本书吗?
可以,但需要投入时间。本书从开发环境和第一个程序讲起,语法部分循序渐进,实例较多;不过编程入门的关键是动手,建议每章都实际敲代码、调错误,遇到不理解的概念先照着做再回头理解,不要只停留在阅读层面。
书中的例子在我电脑上跑不起来怎么办?
先确认开发环境与书中要求一致,检查项目类型和框架版本是否匹配;再对照配套源代码逐行比较,常见问题多为命名空间引用缺失或控件属性设置不同。若仍报错,记录完整错误信息再检索,通常能定位到具体语法或环境问题。
学完这本书能达到什么水平?
可以独立完成基于WinForms的桌面小项目,理解C#基本语法、面向对象思想和数据库增删改查操作。它打的是入门基础,距离工程化开发还有差距;后续建议继续学习.NET进阶内容、调试与版本管理工具,并通过完整项目积累经验。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

作者简介

明日科技 作者

明日科技全称吉林省明日科技有限公司,是一家专业从事软件开发、教育培训及软件开发教育资源整合的高科技公司,并组织编写计算机编程类教材。其作品主要面向编程初学者,题材集中在Python、Java、C#、SQL等语言学习及GUI设计、Web前端开发等方向,常见分类为编程设计、计算机综合与软件学习。代表作品包括“零基础学”系列中的Python GUI设计、SQL、Java等升级版,以及HTML+CSS+JavaScript学习笔记、C#完全自学教程等。该公司策划有“从入门到精通”“软件开发视频大讲堂”等教材系列,相关教材曾获行业与高校出版社奖项,多个品种长期位居同类图书销售榜前列。公开资料有限,其作者身份为机构署名,重点在于计算机编程教育读物的编写与出版。

同一作者

同类高分