c#基础知识点记录

这篇博客详细记录了C#的基础知识点,包括值类型与引用类型的差异,字符串的不变性特性,GC的工作原理,以及ref和out关键字的应用。此外,还探讨了使用string作为HashMap键的潜在问题,泛型编程的优势,元编程的概念,MD5算法的注意事项,枚举的使用,string与StringBuilder的区别,隐式与显式转换,Mono协程,Async/Await的实现方式,属性的特殊性,以及ToString方法在格式化数值时的用法。内容涵盖了C#编程的多个核心方面。
摘要由CSDN通过智能技术生成

一、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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值