- 记录收集推荐C#中的常用内容
- 主要补充初基础语法、数据结构外的进阶代码知识。以及适用于打过竞赛之后转项目编程的人。
目录
- 代码
- 知识点
代码
- 字典Dictionary原理:传送门 使用方法:传送门
- 回调函数:传送门 (打ACM没用过这玩意儿,所以在Unity遇到的时候就放在这里补充一下)
- C#中问号(?)的用法:传送门
- 泛型<T>:传送门
- where约束:传送门
- get set:传送门
- ArrayList、List和Array的区别:
- 相同点 Array、ArrayList和List都是从IList派生出来的,它们都实现了IEnumerable接口。
- 不同点 1.数组的容量是固定的,只能一次获取或设置一个元素的值,而ArrayList或List的容量可根据需要自动扩充、修改、删除或插入数据。 2.数组可以是一维数组、二维数组和多维数组,而ArrayList或 List始终只具有一个维度。但是,可以轻松创建数组列表或列表的列表。特定类型(Object 除外)的数组的性能优于ArrayList的性能。这是因为ArrayList的元素属于Object类型;所以在存储或检索值类型时通常发生装箱和取消装箱操作。不过,在不需要重新分配时(即最初的容量十分接近列表的最大容量),List的性能与同类型的数组十分相近。 3.在决定使用List类还是使用ArrayList类(两者具有类似的功能)时,List类在大多数情况下执行得更好并且是类型安全的。如果对List类的类型使用引用类型,则两个类的行为是完全相同的。但是,如果对类型使用值类型,则需要考虑实现装箱和拆箱问题。 4.数组是抽象类不能被实例化,所有数组的定义都从它派生而来。 5.ArrayList是动态数组,可以自由伸缩数组的大小。实质上Array抽象类也提供了Resize方法动态改变数组的大小。 6.List是集合类型,并且是一个支持泛型的集合类型。
知识点
- 对象交互三种方式:方法调用,委托或回调,消息或事件。
- 模块化方式:单例,IOC,分层(MVC,三层架构,领域启动分层等)