06 2025 档案
摘要:协变和逆变主要作用是为了让泛型接口、委托和数组在类型转换时更加灵活,减少不必要的代码, C#只允许在接口和委托上使用out和in修饰逆变和协变,并对其行为进行了约束,避免破坏其类型安全,所以协变只允许返回,逆变只允许输入, 我们知道子类可以隐式转为父类,因为子类继承了父类的所有特性,父类有的行为字类
阅读全文
摘要:/// <summary> /// Dispose模式示例 /// </summary> public class Example : IDisposable { /// <summary> /// 标记资源是否已释放 /// </summary> private bool disposed = f
阅读全文
摘要:接口实现不受async关键字影响,即可以有它,也可以没它,所以如果方法中没有异步操作,完全没必要使用async修饰 public async Task Test() { await AAA(); await BBB(); } async Task<string> AAA() { await Task
阅读全文
摘要:计算机内存地址是从左到右排列的,因此相对来说,【左边的为低内存地址,右边的为高内存地址】,可以按照字节数组来理解,索引越大,地址越高, 如果要存储一个多字节表示的数值,就需要设定存储的顺序, 为了方便计算机处理,最开始设计的是把数据的【低位(字节)存储在低(内存)地址,高位(字节)存储在高(内存)地
阅读全文
摘要:最近在研究ReadOnlySequence,这是C#的一个高性能组件,能够将非连续内存当作连续内存使用,减少内存拷贝,看上去很不错, 为了加深对其理解,特自己封装了一个既能不断附加新的内存段,又能释放已读内存段,还能把未读内存段当作一个整体使用的类, 代码比较简单,只用来学习理解,不建议直接使用,如
阅读全文
摘要:BCD码(Binary-Coded Decimal),使用4位二进制数来表示1位十进制中的0~9这10个数码, BCD码常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数值的精确度,又可免却使电脑作浮点运算时所耗费的时间。 B
阅读全文

浙公网安备 33010602011771号