当前位置: 首页 > 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.jsqmd.com/news/118073/

相关文章:

  • Excalidraw在教育场景的应用:教师也能轻松上手
  • 24、深入了解 WMI:功能、使用与脚本编写
  • Excalidraw形状库扩展:添加自定义组件
  • Excalidraw模板中心推荐:10个高复用设计模版
  • 2025年口碑好的SKF轴承供应商推荐,SKF轴承定制服务厂家专业筛选指南 - 工业推荐榜
  • 2025年昆明罗伦士商务车经销商排行榜:经销商电话/灯光配置/试驾体验全测评 - myqiye
  • Excalidraw键盘快捷键大全(2024最新版)
  • Excalidraw嵌入网页的iframe实现方式
  • 想在广东省珠海市农村盖房子,靠谱的自建房设计公司口碑推荐 - 苏木2025
  • Excalidraw手绘白板神器:AI赋能下的技术设计新体验
  • 2025年上海成功率高的离婚股权律师排名,有名权威离婚股权律师推荐 - mypinpai
  • Excalidraw外观模式简化:复杂子系统易用化
  • 广州韶关市自建房设计评测排行榜:政策合规 + 地域适配,这些企业值得选 - 苏木2025
  • Excalidraw vs Miro:谁才是开源时代的白板之王?
  • 山东泰安市自建房设计评测排行榜:政策合规 + 地域适配,这些企业值得选 - 苏木2025
  • 【Open-AutoGLM景点预约全攻略】:手把手教你实现智能门票抢订系统
  • Excalidraw移动端使用体验报告
  • 即插即用系列 | ECCV 2024 SMFANet:轻量级图像超分新SOTA,自调制特征聚合网络详解
  • Excalidraw装饰器模式运用:功能扩展不侵入
  • 政务法律教师的兼职困局:万把块打水漂后,一本高含金量证书带来的转机
  • 价格战终结者:一家不为人知的平台,如何让10万+小店老板告别凌晨4点的批发市场?
  • 高薪机遇与就业焦虑:一张AI证书如何解决职场“最新冲突”?
  • 前端如何用 XinServer 轻松实现数据权限管控?
  • Excalidraw建造者模式组装:复杂对象分步创建
  • Excalidraw与Typora结合:打造极简技术写作流
  • Excalidraw自动化工作流:结合Zapier提升效率
  • Excalidraw深度解析:为什么程序员都爱这款开源白板
  • Excalidraw冲突解决算法:多人编辑不丢更改
  • Excalidraw API接口调用示例详解
  • Excalidraw缩放平移算法:亿级画布仍保持流畅