一、c# 值类型与引用类型(引用类型中有值类型、值类型有引用类型、结构体继承接口、判断值类型还是引用类型、数组存储)
二、字符串(弄清楚字符串的特殊性--不变性) 字符串赋值前会先通过hash索引全局的string缓存 有则增加引用 无则新加string内容
三、GC
四、ref out关键字对于传值类型与引用类型的作用(https://blog.csdn.net/wu_pan123/article/details/85125593)
五、声明的是什么类型那数据就是什么类型
2021/01/23
一、c#基本容器数据结构以及相关时间复杂度 图示:
2021/01/26
一、用string做key(hashmap)的隐患: 1、同一个string可能出现计算出来的hashcode不一致 (https://blog.csdn.net/lanlicen/article/details/8913065)2、为什么不直接使用字符串地址比较 (相同字符串在不同进程的地址不同无法比较)
2021/01/27
一、泛型编程 : 参数化类型 即 int float 不需要自己手动写相加的函数重载 编译器会自动生成对应类型的函数
二、元编程 : 代码生成代码 (反射、动态语言)
2021/01/29
一、md5算法注意事项: 1、编码问题(特别是中、英) 2、无限对有限,即md5值个数有限 (但数量极大)
二、枚举:在编译时定义的所有可能值的集合 每个值都由一个名称来引用,这就使得代码更加的易读
三、string 与stringbuilder对比 : 1、string连接会产生一个新值(string不变性)stringbuilder不会 2、stringbuilder只对一个字符串操作 即 拼接是在原来的字符串上做拼接
2021/02/01
一、implicit: 隐式转换没有继承关系对象 Explicit : 显式转换没有继承关系对象 (https://www.cnblogs.com/lwqlun/p/8082405.html)
二、 mono 协程其实就是一个IEnumerator(迭代器),IEnumerator 接口有两个方法 Current 和 MoveNext() Coroutine是在每帧的LateUpdate之后执行 (自定义指令继承YieldInstruction)
三、Async/Await 本质是通过状态机实现(https://www.codercto.com/a/42846.html https://www.pianshen.com/article/2187590007/)
2021/03/03
一、属性的特殊性 (https://www.cnblogs.com/u3ddjw/p/11109679.html) PS:时刻关注值类型与引用类型的区别
2021/05/18
一、ToString("#0.00") ToString("#.##") 后者会去掉为0的值 比如 1.30 第一个输出 1.30 第二个输出1.3
二、字符串相连 固定数量 选择string类 任意数量选择stringbuilder 效率上来说 stringbuilder > string > format 相关测试文章链接 https://www.cnblogs.com/zhurong/p/9446217.html