2024年11月19日
摘要: 用于读写从基元类型到byte[]之间的映射; 不过这里指的基元类型主要是指各种数值类型; System.Buffers.Binary.BinaryPrimitives 结合 System.Runtime.InteropServices.MemoryMarshal System.Runtime.Com 阅读全文
posted @ 2024-11-19 16:07 ProjectDD 阅读(2) 评论(0) 推荐(0) 编辑
  2024年10月6日
摘要: [StructLayout(LayoutKind.Sequential)] unsafe struct B{ // public int field1; public double field2; public string field3; byte* field4; byte field5; ni 阅读全文
posted @ 2024-10-06 01:24 ProjectDD 阅读(12) 评论(0) 推荐(0) 编辑
  2024年2月2日
摘要: 这玩意儿不是强制的,已经测试了解, var x = from i in source ... 这是linq中标准的from子句的写法,它默认会定义两个变量位置一个 是上式所示的i 另一个是source,一般来说按要求 source需要是可枚举的即它能够被foreach,一般所有集合类型都是可枚举的, 阅读全文
posted @ 2024-02-02 18:13 ProjectDD 阅读(32) 评论(0) 推荐(0) 编辑
  2024年1月31日
摘要: 关于await又理解深一点了,以前有点懵,原来await 是对Task.Run的一个修饰(更准确的说是对Task实例的一个修饰,因为Task实例是必然会包装一个委托的所以就实现了对方法的包装,当这个方法调用时也就是Run时你可以选择是否使用await),叶节点,后续技节点是对标有async的方法进行 阅读全文
posted @ 2024-01-31 10:27 ProjectDD 阅读(79) 评论(0) 推荐(0) 编辑
  2024年1月12日
摘要: 最简单的算法是选择算法, 其次在选择算法的思想基础上有一点改进的是冒泡算法 再进一步在冒泡算法基础上更深化改进的算法是插入排序 你还知道什么算法他们的思想又是如何欢迎留言 阅读全文
posted @ 2024-01-12 12:56 ProjectDD 阅读(2) 评论(0) 推荐(0) 编辑
  2024年1月8日
摘要: 有遇到过这种情况的吗?我不确定是不是它的原因,总之安装之后经常让vscode卡死退出,最近这次直接黑屏死机了,不知道是不是它引起的,只能先卸载。 阅读全文
posted @ 2024-01-08 15:01 ProjectDD 阅读(25) 评论(0) 推荐(0) 编辑
  2023年11月4日
摘要: 本次采用最流行而又权威的benchmarkdotnet 基准测试库进行 因为确实看文档和网文上关于Span<T>的示例很少,最多就是切string, substring split方面的,具体意思感觉就是多次被调用时如果都在创建临时的数组对象会给gc带来负荷,而这正是Span<T>能解决的 目前我对 阅读全文
posted @ 2023-11-04 01:03 ProjectDD 阅读(24) 评论(4) 推荐(0) 编辑
  2023年4月20日
摘要: 阅读全文
posted @ 2023-04-20 18:04 ProjectDD 阅读(30) 评论(0) 推荐(0) 编辑
  2023年4月18日
摘要: 先看两段代码对比: static public T SimdDot(T[] a, T[] b) { if (a.Length != b.Length) throw new ArgumentException("The size of two matrix is not equal."); // if 阅读全文
posted @ 2023-04-18 02:25 ProjectDD 阅读(138) 评论(0) 推荐(0) 编辑
  2022年10月9日
摘要: 马上就要出C#11了,近几个版本模式匹配一直在更新,参见官网:模式 - C# 参考 | Microsoft Learn 使用模式主要就是switch, 分两种 switch 语句和表达式, 语句:(功能全面) switch(i){ case const_exp1: /*customer logic* 阅读全文
posted @ 2022-10-09 15:57 ProjectDD 阅读(27) 评论(0) 推荐(0) 编辑