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

MemoryT

Span 很快,但它像一张便利贴——只能贴在桌上(方法内部)看,不能折起来放进口袋带走,也就是说它不能跨 await 用在异步方法里。
Memory 把数据装进一个信封里,你可以随身带着走(存到字段里、跨 await 使用),需要看的时候打开信封,用 .Span 取出里面的内容来看。

————————————————————————————————————————————————————————————————————————————————————————————————

案例 1:基础切片(和 Span 很像)
csharp
int[] numbers = { 10, 20, 30, 40, 50 };
Memory mem = numbers;
Memory slice = mem.Slice(1, 3); // 切出 20,30,40

foreach (int n in slice.Span)
Console.Write(n + " ");
// 输出:20 30 40
Slice 切一块,slice.Span 打开信封看内容。不复制原数组。

————————————————————————————————————————————————————————————————————————————————————————————————

案例 2:异步读文件(Memory 的主场)
csharp
async Task ReadAsync()
{
byte[] buffer = new byte[64];
Memory mem = buffer; // 装进信封

using var stream = File.OpenRead("test.txt");
int n = await stream.ReadAsync(mem); // 跨 await 使用!

string text = Encoding.UTF8.GetString(mem.Span.Slice(0, n));
Console.WriteLine(text);
}
Span 不能当参数传给 await,但 Memory 可以。这是它最核心的用途。

————————————————————————————————————————————————————————————————————————————————————————————————

案例 3:字符串切片(只读信封)
csharp
string date = "2024-08-02";
ReadOnlyMemory mem = date.AsMemory();

string year = mem.Slice(0, 4).ToString();
string month = mem.Slice(5, 2).ToString();

Console.WriteLine($"{year}年{month}月"); // 2024年08月
ReadOnlyMemory 是只读信封,适合处理字符串。比直接 Substring 更省内存。

http://www.jsqmd.com/news/1326793/

相关文章:

  • 深入解析UE引擎FUObjectArray:内存逆向与对象遍历实战
  • 国产超声波流量计十大品牌**,一篇看懂怎么选 - 陈工日常
  • 网络安全终端工业级主板方案 | 解决网闸隔离弱 行为管控粗 多网适配差 数据防护弱4大难题
  • 10倍提速GitHub访问:Fast-GitHub浏览器插件完全指南
  • 如何用MPV懒人包在5分钟内打造专业级视频播放体验?
  • SQL注入从原理到实战:DVWA靶场手工注入与自动化工具防御指南
  • Android SDK下载与更新问题全解析及解决方案
  • NS模拟器终极指南:3步搞定安装更新与管理的完整教程
  • UE5独立服务器全流程部署指南:从Target配置到自动化脚本
  • 3步构建你的专属记忆银行:WeChatMsg开源工具完整指南
  • Python视频网站全栈开发:毕业设计实战指南
  • 2026年8月服务好的艺术培训艺术机构推荐,二胡考级培训/美术培训/书法培训/二胡培训/吉他培训,艺术培训品牌找哪家 - 品牌推荐师
  • 终极指南:如何免费使用Waifu2x-Extension-GUI实现图片视频超分辨率放大
  • macOS 与 Windows 平台 OpenClaw 安装文档,自动化办公工具搭建流程(含安装包)
  • SpringBoot甜品店管理系统开发实战
  • 专业解决方案:深度解析AKShare金融数据接口库的疑难问题与系统调试方法
  • 数字中国战略与十五五核心技术发展趋势
  • 用 Ace Data Cloud 快速接入 Suno:让 AI 音乐生成能力真正进入你的应用
  • 为什么你的AI系统正在被无声劫持?——2024年TOP3对抗样本绕过案例与零日响应SOP
  • 2026年8月石家庄高新区新房装修选哪家?这10家公司帮你避坑 - 品牌智鉴榜
  • 格雷厄姆价值投资理论在现代金融科技中的演变与应用
  • 西门子S7-1500与KUKA机器人Profinet联调实战
  • NiceGUI文件上传功能实现与安全优化指南
  • 2026年武汉广告公司十大实力**,哪家最值得合作? - GrowUME
  • 2026 年 8 月 SMT 贴片厂家靠谱推荐|长三角 PCBA 厂商口碑测评榜单
  • 大模型稳定输出JSON格式的实战指南:从Prompt到函数调用的完整方案
  • 3步掌握英雄联盟自动化:League Akari 完整实战指南
  • 2026年天津知名的GEO优化公司盘点与深度解析方法篇
  • Bilibili视频下载终极指南:7个技巧让你轻松下载B站视频
  • iPaaS连接器持续升级,打造企业AI转型集成智能体