目录
1. C# 入门
1.1 C#、.NET 与程序运行过程
1.2 一个 C# 程序的基本结构
1.3 注释与代码区域
1.4 控制台输入与输出
1.5 变量、常量与命名
1.6 常用数据类型
1.7 字符串与转义字符
1.8 类型转换
1.9 运算符
1.10 异常捕获
1.11 条件分支
1.12 循环语句
1.13 枚举
1.14 随机数
1.15 断点调试
1.16 入门综合练习:角色创建
2. C# 基础
2.1 数组
2.2 二维数组
2.3 交错数组
2.4 函数(方法)
2.5 作用域与局部变量
2.6 返回值
2.7 ref 与 out
2.8 params 变长参数
2.9 可选参数与命名参数
2.10 函数重载
2.11 递归函数
2.12 值类型与引用类型
2.13 结构体
2.14 冒泡排序
2.15 选择排序
2.16 基础阶段总结
3. C# 核心——面向对象
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 继承中的构造顺序
3.16 object、装箱与拆箱
3.17 密封类与密封方法
3.18 多态:virtual 与 override
3.19 抽象类与抽象方法
3.20 接口
3.21 显式接口实现
3.22 命名空间与别名
3.23 object 常用方法
3.24 string
3.25 StringBuilder
3.26 结构体与类的区别
3.27 抽象类与接口如何选择
3.28 实战思路:贪吃蛇项目如何拆分
3.29 核心阶段总结
4. C# 进阶
4.1 ArrayList
4.2 非泛型 Stack
4.3 非泛型 Queue
4.4 Hashtable
4.5 泛型
4.6 泛型约束
4.7 List<T>
4.8 Dictionary<TKey, TValue>
4.9 顺序存储与链式存储
4.10 LinkedList<T>
4.11 泛型栈和队列
4.12 委托
4.13 事件
4.14 匿名函数与 Lambda 表达式
4.15 List<T> 排序
4.16 协变与逆变
4.17 多线程
4.18 预处理指令
4.19 程序集、元数据与反射
4.20 特性(Attribute)
4.21 迭代器与 yield return
4.22 常用特殊语法
4.23 值类型与引用类型进一步理解
4.24 进阶阶段综合示例:事件驱动的战斗对象
5. 运行时、内存与工程补充
5.1 C#、CLR 与强类型
5.2 const 与 readonly
5.3 var、dynamic、is 与 as
5.4 栈、托管堆与对象生命周期
5.5 集合关系、动态扩容与 IList<T>
5.6 字符串拼接与临时分配
5.7 浮点数精度
5.8 标准 .NET GC 与 Unity GC
5.9 IDisposable 与非托管资源
5.10 单例与工厂模式的使用边界
6. 总结
7. 参考资料