当前位置: 首页 > news >正文

SW 随笔 001 — InlineArray 带你飞(Since C#12)

声明:个人笔记,概不负责

开篇放水

这几天与 Copilot 对话,被种草了一个 InlineArray C# 特性,符合 native 思维的 数组 表达。
这东西还是 safe 的,啊,啊,真香 ……… 太香了!

进一步资料
// C# 12 - .NET 8 (2023-11)
设计: https://github.com/dotnet/runtime/blob/main/docs/design/features/InlineArrayAttribute.md
手册:https://learn.microsoft.com/en-us/dotnet/api/system.runtime.compilerservices.inlinearrayattribute

==

说实话,当年我是看到文档的,实在不知道这东西在干嘛,不懂的太多没办法,所以略过了。

现在的语言 3 年过后,就有很多新东西;5 年过后,就大变样;10 年过后,就得当一门新语言来学。
这是好事,许多年前,语言就像死了一样,发明过后没啥 的变化。

简单的讲 Morden C# 已经越来越像 C++ ; 而 Morden C++ 也越来越像 C#
2018 年 C# 7.2 (.NET Core 2.1) 引入 Span 后,这 C# 就开始往 native 的路上放飞自我了 ……
2020 年 C++20 引入 module 后,这 C++ 体质、物种都变了,原来是 像农业国家,现在像 工业国家 ……
千年不变的是 C 语言,这是好事,这东西变化太多,许多工业基础就得废。整个计算机行业,都得崩塌。

现在有了 AI 学点新东西,简直是 指数级 省时间!
可能,缩短两个数量级 的时间,以上!
我是无意间和 Copilot 会话时,带出 旧代码的 使用部分,这东西猜到了我的实现,然后推荐了个更好的

代码就一句话

现在的代码

/// <summary>
/// A simple helper to map a null-terminated C string to a C# string
/// </summary>
[InlineArray(64)] // C# 12 - .NET 8  (2023-11)
public struct AsciiBytes64
{private byte Buffer;public static implicit operator string(AsciiBytes64 s) => s[..].AsciiBytesToString();public override string ToString() => this[..].AsciiBytesToString();
}

之前的代码

/// <summary>
/// A simple helper to map a null-terminated C string to a C# string
/// </summary>
public unsafe struct NullTerminatedString
{// hard-coded size since C# generic does not support const arg//private fixed byte Buffer[64];public static implicit operator string(NullTerminatedString s){string str = new string((sbyte*)s.Buffer);return str;}public override string ToString(){return this;}
}

===没有啦,结束了

http://www.rkmt.cn/news/130044.html

相关文章:

  • 2025年口碑好的SKF轴承供应商推荐,SKF轴承定制服务厂家专业筛选指南 - 工业推荐榜
  • 广州韶关市自建房设计评测排行榜:政策合规 + 地域适配,这些企业值得选 - 苏木2025
  • 前端如何用 XinServer 轻松实现数据权限管控?
  • Excalidraw访问者模式扩展:数据结构新增操作
  • Excalidraw甘特图绘制教程,无需Project也能搞定
  • 告别Visio:Excalidraw成为新一代轻量绘图首选
  • “百镜大战”白热化,阿里、小米、理想巨头入局,AI眼镜如何从手机手中抢用户?
  • Excalidraw解释器模式解析:简单语言指令执行
  • Excalidraw观察者模式:事件通知灵活响应
  • 如何高效开展MES需求调研?—— 一个涉及6部门的4天实战复盘
  • Excalidraw负载均衡配置:应对高并发访问压力
  • Excalidraw监控告警体系:异常行为及时发现
  • Excalidraw代理模式设计:访问控制精细粒度
  • 湖南省张家界市自建房设计靠谱机构评测排行榜:5 星平台优势及适配人群 - 苏木2025
  • Excalidraw垃圾回收机制:自动清理无效对象
  • AI编程新纪元:从自动化代码生成到智能开发全栈实践
  • Excalidraw HTTPS加密传输:保障通信安全
  • 如何用Excalidraw画出专业级系统设计图?
  • 计算机网络--运输层
  • Excalidraw差分同步原理:精准同步每一处改动
  • Excalidraw最终一致性模型:保障数据完整性
  • 1、脚本编程入门指南
  • Excalidraw灾备方案:确保关键业务连续性
  • Excalidraw迭代器模式遍历:集合元素逐个访问
  • 11.Python 常用数据类型「增删改查」操作总结表格
  • Excalidraw工厂模式实现:对象创建更加优雅
  • Excalidraw双因素认证:强化账户登录安全性
  • 4、WSH 5.6 新特性全解析
  • 包头型材2025年口碑推荐榜出炉 - 2025年品牌推荐榜
  • 15、深入探索 Active Directory 搜索:优化策略与实用技巧