摘要: 学习研究,记录一下 public void Test() { Console.WriteLine(MyNthRoot(3.1415926)); } /// <summary> /// 自己写的任意数开平方 /// </summary> public static double MyNthRoot(d 阅读全文
posted @ 2026-06-02 17:18 WmW 阅读(4) 评论(0) 推荐(0)
摘要: INSERT into tableName SELECT * FROM tableName_old where Time>'2026-1-1' 阅读全文
posted @ 2026-06-01 10:54 WmW 阅读(2) 评论(0) 推荐(0)
摘要: DateTime.Now并不是只精确到秒,它后续还有毫秒 这本来是个很简单的知识点,但是有时候一个没注意,就会导致程序的执行超出预期,需要谨慎使用, 比如下面这段代码,理论上count最终应该为0,但是实际运行结果却是128,超出了预期 public void Start() { DateTime 阅读全文
posted @ 2026-05-07 11:47 WmW 阅读(7) 评论(0) 推荐(0)
摘要: 新建ASP.NET Core Web API 项目,引用SqlSugarCore包, 新建库UserDB,然后新建表, CREATE TABLE `user` ( `UserID` int NOT NULL AUTO_INCREMENT, `UserName` varchar(255) NOT NU 阅读全文
posted @ 2026-03-30 11:30 WmW 阅读(18) 评论(0) 推荐(0)
摘要: 最近一直在研究CRC校验,网上搜了一堆资料,研究了老半天终于算是搞明白了,下面全是基于我自己的理解,如有错误,望指出! 1.定义 CRC(Cyclic Redundancy Check)即【循环冗余校验】,是一种数据检验算法,被广泛的用来验证数据传输前后的一致性, 2.原理 其原理就是把整个字节流数 阅读全文
posted @ 2025-08-06 18:24 WmW 阅读(188) 评论(0) 推荐(0)
摘要: 协变和逆变主要作用是为了让泛型接口、委托和数组在类型转换时更加灵活,减少不必要的代码, C#只允许在接口和委托上使用out和in修饰逆变和协变,并对其行为进行了约束,避免破坏其类型安全,所以协变只允许返回,逆变只允许输入, 我们知道子类可以隐式转为父类,因为子类继承了父类的所有特性,父类有的行为字类 阅读全文
posted @ 2025-06-30 17:28 WmW 阅读(35) 评论(0) 推荐(0)
摘要: /// <summary> /// Dispose模式示例 /// </summary> public class Example : IDisposable { /// <summary> /// 标记资源是否已释放 /// </summary> private bool disposed = f 阅读全文
posted @ 2025-06-27 11:46 WmW 阅读(159) 评论(0) 推荐(0)
摘要: 接口实现不受async关键字影响,即可以有它,也可以没它,所以如果方法中没有异步操作,完全没必要使用async修饰 public async Task Test() { await AAA(); await BBB(); } async Task<string> AAA() { await Task 阅读全文
posted @ 2025-06-25 18:32 WmW 阅读(45) 评论(0) 推荐(0)
摘要: 计算机内存地址是从左到右排列的,因此相对来说,【左边的为低内存地址,右边的为高内存地址】,可以按照字节数组来理解,索引越大,地址越高, 如果要存储一个多字节表示的数值,就需要设定存储的顺序, 为了方便计算机处理,最开始设计的是把数据的【低位(字节)存储在低(内存)地址,高位(字节)存储在高(内存)地 阅读全文
posted @ 2025-06-13 17:25 WmW 阅读(28) 评论(0) 推荐(0)
摘要: 最近在研究ReadOnlySequence,这是C#的一个高性能组件,能够将非连续内存当作连续内存使用,减少内存拷贝,看上去很不错, 为了加深对其理解,特自己封装了一个既能不断附加新的内存段,又能释放已读内存段,还能把未读内存段当作一个整体使用的类, 代码比较简单,只用来学习理解,不建议直接使用,如 阅读全文
posted @ 2025-06-10 11:04 WmW 阅读(63) 评论(0) 推荐(0)