我已经阅读了一段时间有关 span 的内容,并且只是尝试实现它。然而,虽然我可以让 span 工作,但我无法弄清楚如何让流像示例中那样接受它。其他示例也显示了 int.parse 支持跨度,但我找不到使其成为可能的重载或扩展。
我在.net standard 2.0
和.net core 2.0
都试过了
请为我指明正确的方向以完成这项工作。
代码示例
Span<Byte> buffer = new Span<byte>();
int bytesRead = stream.Read(buffer);
最佳答案
.NET Core 2.1 支持来自流的 Span 结果。如果您检查当前的源代码,例如 Stream你会看到它有像 Read(Span) 这样的重载读入 Span<byte>
而不是 byte[]
, 或 Write(ReadOnlySpan)可以写出 ReadOnlySpan<byte>
而不是 byte[]
,使用内存等的重载
要以 .NET Core 2.1 为目标,您必须至少安装 Visual Studio 2017 15.7 Preview 4或 latest SDK for .NET Core 2.1
关于c# - span<T> 和流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50078640/