【发布时间】:2019-10-25 01:04:14
【问题描述】:
System.Span 的构造函数采用 int 长度,长度在内部存储为 32 位值。
但是,默认填充将使结构的大小无论如何都为 16 字节,因此具有 32 位长度不会节省任何空间。
https://github.com/dotnet/corefx/blob/master/src/Common/src/CoreLib/System/Span.Fast.cs
Span 设计文档没有提到它。 https://github.com/dotnet/corefxlab/blob/master/docs/specs/span.md
【问题讨论】:
-
我猜是因为他们不希望您能够在一个跨度内处理超过 20 亿个元素?我的意思是,你最后一次在单个缓冲区中有 > 2 GB 是什么时候?
-
刚刚,实际上。 :) 我有一个 8gb MemoryMappedFile 并想用 Span
访问它。