C#桌面软件开发的学习框架

C#基础

C#基础

  1. day01-C#和.net简介、VS开发工具使用介绍
    1.1. C#能够开发哪些程序上?
    1.2. C#能够开发哪些程序下?
    1.3. 应用的cs和bs模式
    1.4. visual studio2019的下载和安装
    1.5. visual studio2017的使用入门
    1.6. visual studio2019的使用入门
    1.7. C#和.net各版本的对应关系
    1.8. 教案和代码、软件下载
    1.9. 请完成作业习题
  2. day02-注释、变量、数据类型 的目录
    2.1. 教案和代码下载
    2.2. 使用英文标点符号
    2.3. 输入法必须为半角的
    2.4. 逻辑代码以分号结束
    2.5. 单行注释的格式和作用
    2.6. 多行注释的格式以及注释的快捷键
    2.7. 文档注释的格式和作用
    2.8. 代码加注释、命名有意义
    2.9. 变量的含义以及数据类型简单介绍
    2.10. 变量的使用举例
    2.11. 常见数据类型
    2.12. 一般整数使用int类型,超出范围使用long长整型
    2.13. 小数类型float、double以及类型转换简单讲解
    2.14. 字符和字符串类型
    2.15. 变量声明的三种方式
    2.16. 变量必须先声明,再赋值,然后才能使用
    2.17. 变量的命名规则
    2.18. 变量名区分大小写、不允许重复定义
    2.19. 大驼峰小驼峰命名风格
    2.20. 请完成作业习题
  3. day03-赋值、算术等运算符、字符串、转义字符、类型转换
    3.1. 什么是赋值运算符?
    3.2. 赋值运算符练习讲解
    3.3. 字符串的使用
    3.4. 字符串使用练习讲解
    3.5. 转义字符用法
    3.6. 转义字符使用总结
    3.7. 算术运算符用法
    3.8. 算术运算符取商取模注意点
    3.9. 算术运算符求和求平均数练习
    3.10. 算术运算符的优先级
    3.11. 什么是自动类型转换?
    3.12. 自动类型转换需要满足的条件
    3.13. 什么是强制类型转换?
    3.14. 强制类型转换适应的场景
    3.15. 强制类型转换练习(ascii编码映射打印字符)
    3.16. Convert用法
    3.17. Convert练习(开发成绩计算器软件)
    3.18. Convert练习(简单日历计算器)
  4. day04-自增、符合赋值、比较、逻辑等运算符
    4.1. 自增自减一元运算符
    4.2. 前自增自减运算符规律
    4.3. 后自增自减运算符规律
    4.4. 复合赋值运算符用法
    4.5. 符合赋值运算符不用强制类型转换
    4.6. 自增自减运算符练习
    4.7. 认识关系(比较)运算符
    4.8. bool类型主要用于判断条件是否成立
    4.9. 逻辑运算符(认识逻辑与)
    4.10. 逻辑运算符(认识逻辑或和逻辑非)
    4.11. 逻辑运算符(短路与短路或提高程序性能)
    4.12. 逻辑运算符练习讲解
    4.13. 章节总复习,布置作业
  5. day05-if else switch选择流程
    5.1. 程序执行的三种流程结构
    5.2. 顺序执行流程
    5.3. if选择执行流程
    5.4. if练习(判断是否到了结婚的年龄)
    5.5. if else选择流程
    5.6. if else练习(判断考试成绩等级)
    5.7. if else if选择流程(多个条件只会执行其中一个)
    5.8. 选择流程最后的else if能否改成else?
    5.9. switch选择结构的用法(薪资考评案例)
    5.10. switch中的default使用场景
    5.11. if else if和switch比较(了解使用场景)
    5.12. 选择流程的作业
  6. day06-循环流程
    6.1. 认识循环结构(通过几个生活中例子)
    6.2. while循环格式和判断条件
    6.3. do while循环结构(理解使用场景)
    6.4. while和do while两种循环的区别
    6.5. 要能够控制循环次数,避免死循环
    6.6. 学习程序调试(重点学会F10和F11使用)
    6.7. for循环的用法
    6.8. for适合在循环次数预知(while适合循环次数未知)
    6.9. for循环格式和执行逻辑
    6.10. break结束循环
    6.11. continue跳过某一次循环
    6.12. 总结和作业
  7. day07-数组
    7.1. 数组的三大重要特征
    7.2. 数组的定义和元素赋值(要掌握最基本的赋值方式)
    7.3. 创建数组的另外三种方式
    7.4. 数组元素个数要和声明的个数相同
    7.5. 复习数组特征(一定要理解数组的数据结构)
    7.6. 数组的索引器用法
    7.7. 数组的常用操作(薪资计算器案例)
    7.8. foreach循环的用法
    7.9. Array数组工具类常见用法
    7.10. 二维数组的声明和使用
    7.11. 数组的作业
  8. day08-方法
    8.1. 写重复逻辑怎么办?(打印矩形案例)
    8.2. 使用方法来优化代码(封装到一个单独模块中)
    8.3. 整理下项目
    8.4. 重写矩形打印方法(有参数有返回值)
    8.5. 对方法、参数、返回值有简单的认识
    8.6. 方法的格式以及如何调用static方法(需要掌握)
    8.7. 局部变量的作用域范围
    8.8. 方法之间通过参数和返回值来传递数据
    8.9. 复习参数传递和return用法(奇偶判断案例)
    8.10. 理解形参和实参
    8.11. 函数重载的用法
    8.12. 通过参数类型和个数来区分重载函数
    8.13. 参数和返回值使用数组类型
    8.14. 使用out返回不同类型的结果
    8.15. 作业
  9. day09-常量枚举结构体
    9.1. 常量的用法和注意点
    9.2. 如何避免不同开发人员定义数据不一致?
    9.3. 使用枚举
    9.4. 枚举的格式和使用场景
    9.5. 枚举使用的案例(用户信息录入和展示)
    9.6. 使用结构体改造用户信息系统
    9.7. 结构体格式(具备开发复杂系统的能力)
    9.8. 作业
  10. day10-类和面向对象
    10.1. 面向对象概念
    10.2. 类的概念
    10.3. 用程序定义类(初步了解类)
    10.4. 类和对象的区别
    10.5. 类的格式
    10.6. 类的实例化和调用对象成员
    10.7. 访问修饰符
    10.8. 成员变量赋值有误怎么办?(年龄为0或者负数)
    10.9. 通过方法校验来避免异常数据
    10.10. 添加getXXX方法来获取私有成员变量值
    10.11. 使用属性器的get和set来简化写法
    10.12. 属性器可以不定义私有成员变量
    10.13. 只读属性器(只允许读取,不允许赋值)
    10.14. 只写属性器(只允许赋值,不允许读取)
    10.15. 属性器本质是方法(为了保护内部成员数据)
    10.16. 作业和总结
  11. day11-类的构造函数
    11.1. 构造函数的定义和调用(生产汽车案例)
    11.2. 类默认有无参的构造函数
    11.3. 手动添加多个构造函数(构造函数重载注意点)
    11.4. 创建学生对象练习
    11.5. 类图
    11.6. 类和结构体的区别
    11.7. 作业
  12. day12-继承和多态
    12.1. 继承的好处和用法
    12.2. 继承的总结
    12.3. 所有类默认继承Object类
    12.4. 子类默认调用父类的无参构造函数
    12.5. 子类调用父类有参构造函数传递数据
    12.6. Protected声明的成员只允许子类可见
    12.7. 继承的传递性和单根性
    12.8. 多态和类型转换概念
    12.9. 多态和类型转换案例(学生老师坐校车案例)
    12.10. 使用is判断类型、使用as类型转换、非空判断
    12.11. 总结和作业
  13. day13-多态、抽象方法和抽象类
    13.1. 复习继承、多态和子父类型转换
    13.2. 子类可以使用new关键字隐藏父类同名方法
    13.3. 子类可以重载父类同名方法(非重写)
    13.4. 子类可以重写父类方法(重要)
    13.5. 重写(override)和重载(overload)的区别
    13.6. static关键字的用法
    13.7. static属于类拥有,调用方便,节省空间
    13.8. 子类可以继承父类的static成员,但意义不大
    13.9. 重写父类虚方法注意点
    13.10. 重写Object类的Tostring方法
    13.11. 重写Object类的Equals方法
    13.12. 重写Object类的GetHashCode方法
    13.13. 使用VS工具同时重写Equals和GetHashCode方法
    13.14. 抽象类和抽象方法
    13.15. 抽象类练习
    13.16. 作业
  14. day14-15-16动手做项目
  15. day01-动态集合ArrayList用法、泛型

  16. 1.1. 教案和代码下载
    1.2. 数组长度固定,添加和删除元素不灵活
    1.3. 使用集合ArrayList解决顾客排队新增人员问题
    1.4. ArrayList添加元素Add方法
    1.5. ArrayList删除元素
    1.6. ArrayList默认各元素是Object类型,后面会学习泛型用法
    1.7. ArrayList插入元素Insert用法
    1.8. ArrayList清空所有元素clear用法
    1.9. ArrayList查询元素索引,从前查找,从后查找
    1.10. ArrayList排序Sort、开发中存在大量对象的方法调用
    1.11. foreach用法
    1.12. 泛型集合
    1.13. 随机数对象
    1.14. 请完成课上布置的作业
  17. day02-winform窗体项目、属性、事件、方法
    2.1. 教案和代码下载
    2.2. 创建窗体项目,运行指定的窗体文件
    2.3. 从工具箱拖动控件到窗体,运行演示
    2.4. 扩充工具箱或引入外部工具组件
    2.5. 窗体属性初步认识
    2.6. 添加新窗体,添加背景图片
    2.7. 窗体通过事件完成功能
    2.8. 动手练习鼠标和按键事件
    2.9. 子窗体从Form父类继承大量方法,便于开发
    2.10. 通过例子演示窗体方法的使用
    2.11. day02作业
  18. day03-消息框、文本标签、文本框、复选框、按钮、列表框
    3.1. 教案和代码下载
    3.2. McssageBox消息框
    3.3. Label和LinkLabel标签控件
    3.4. TextBox文本框控件
    3.5. Button按钮控件
    3.6. RadioButton单选按钮控件
    3.7. CheckBox复选框控件、多个控件遍历和判断优化
    3.8. CheckedListBox复选列表框控件
    3.9. ListBox列表框控件选中项显示
    3.10. ListBox列表框控件-添加或删除项
    3.11. day03作业
  19. day04-组合框、图片、定时器、日期、日历、右键菜单、状态栏、工具栏
    4.1. 教案和代码下载
    4.2. ComboBox组合框控件
    4.3. PictureBox图片控件
    4.4. Timer定时器控件
    4.5. DateTimePicker日期时间控件
    4.6. 日历控件MonthCalendar
    4.7. ContextMenuStrip右键菜单控件
    4.8. MenuStrip菜单栏控件
    4.9. StatusStrip状态栏菜单控件
    4.10. ToolStrip工具栏控件
    4.11. day04作业
  20. day05-颜色器、字体框、打开和保存文件、富文本框、表格控件
    5.1. 教案和代码下载
    5.2. MDI窗体
    5.3. ColorDialog颜色对话框控件
    5.4. FontDialog字体对话框控件
    5.5. OpenFileDialog和SaveFileDialog打开文件与保存文件
    5.6. RichTextBox富文本框控件
    5.7. DataGridView数据表格控件数据绑定-可视化操作
    5.8. DataGridView数据表格控件数据绑定_代码自动生成介绍
    5.9. day05作业
  21. day06-C#异常与调试、异常捕获处理
    6.1. 常见的异常种类、演示堆栈溢出异常
    6.2. 教案和代码下载
    6.3. 异常分为编译时异常和运行时异常
    6.4. try catch异常捕获机制
    6.5. try多个catch,细分异常判断
    6.6. 演示空指针引用异常、开发中注意加if校验
    6.7. try-finally机制
    6.8. tryfinally关闭文件流
    6.9. trycatchfinally关闭文件流
    6.10. 自定义异常
    6.11. day06作业
  22. day07-文件和文件夹创建和删除、遍历等操作、路径Path对象
    7.1. 教案和代码下载
    7.2. Driveinfo获取计算机驱动器信息
    7.3. 获取计算机中所有驱动器的名称和文件格式
    7.4. Directoryinfo创建文件夹
    7.5. Directoryinfo查看和删除文件夹
    7.6. Directory类文件夹操作
    7.7. FileInfo创建和移动文件
    7.8. File类文件操作
    7.9. Path文件路径操作
    7.10. day07作业
  23. day08-进程和线程、多线程创建
    8.1. 教案和代码下载
    8.2. 多线程、单线程概念、Process类属性和方法
    8.3. 操作进程、获取操作系统所有进程
    8.4. 输入程序名,启动指定的进程
    8.5. 右键菜单关闭选择的进程
    8.6. Thread线程及与线程有关的类
    8.7. 使用ThreadStart 和Thread创建线程对象
    8.8. 使用ThreadStart 委托创建多个线程
    8.9. ParameterizedThreadStart创建线程带参数
    8.10. ParameterizedThreadStart创建线程带自定义对象参数
    8.11. day08作业
  24. day09-多线程优先级、后台线程、线程同步、锁
    9.1. 教案和代码下载
    9.2. 线程优先级设置
    9.3. 线程休眠指定时间
    9.4. 线程的终止Abort
    9.5. 后台线程的概念和设置
    9.6. lock给线程加锁,线程同步
    9.7. Monitor给线程加锁,线程同步
    9.8. Mutex互斥锁,线程同步
    9.9. day09作业
  25. day10-委托、多播委托和事件
    10.1. 教案和代码下载
    10.2. 简单了解委托和事件
    10.3. 委托的理解和使用
    10.4. 委托使用三步骤,委托声明和方法保持一致
    10.5. 委托的类型,委托的语法
    10.6. 委托类型声明、变量定义、调用复习
    10.7. 实例方法命名委托的使用
    10.8. 方法委托实现排序的效果
    10.9. 多播委托定义和调用
    10.10. 匿名委托的使用
    10.11. 事件Event的概念
    10.12. 事件案例一
    10.13. 事件案例二
    10.14. day10作业
  26. day11-文件读取和流处理
    11.1. 教案、代码下载
    11.2. 输入输出流的概念
    11.3. 流的命名空间、原理和类型
    11.4. StreamReader读取文本文件
    11.5. 文件编码处理,gbk、gb2312或者utf-8编码
    11.6. StreamWriter写入文本数据到文件
    11.7. FileStream类构造函数重载和参数了解
    11.8. FileStream写入数据
    11.9. FileStream读取数据
    11.10. BinaryReader以二进制流方式读取数据
    11.11. BinaryWriter以二进制流方式写数据
    11.12. 作业
  27. day12-socket通信、TCP、UDP通信案例
    12.1. 通过打电话例子,了解Socket通信流程
    12.2. Socket概念,以进程为单位通信,和IP和端口有关
    12.3. Socket类型-TCP和UDP区别
    12.4. 端口概念和Socket模式(客户端和服务器端)
    12.5. Socket通信过程、构造函数和参数、常用方法
    12.6. TCP通信服务器端功能演示、创建监听socket对象、子线程执行通道socket通信
    12.7. TCP服务器端下拉列表和全局字典分别存储客户端socket信息,创建子线程收信息、发文本和文件等
    12.8. TCP客户端Socket的创建,消息发送和获取,注意数据类型判断
    12.9. UDP通信特点,不要求先创建连接,不要求绝对可靠
    12.10. 代码讲解UDP服务器端和客户端实现,指定ip和端口向目标发数据
    12.11. 教案、代码下载
    12.12. 作业

发表评论

邮箱地址不会被公开。