c# byte[] asspan 等效?

c# byte[] asspan equivalent?

我有一行代码包含 .NET 4.7.2 中不存在的 AsSpan 方法。 这是一个 netstandard2.1 项目,我既不理解也不能转换为 .NET 4.7.2。

我发现“AsSpan”方法可以使用 System.Memory NuGet 包。但是,Write 方法随后需要一个偏移量和计数。不幸的是,我对文件操作一窍不通。

有人可以帮我吗?它应该 运行 在 Mono .NET 4.7.2 下。

class Packer
{
    public byte[] Bytes { get; }
    // ...
    public override void Pack(Stream destination)
    {
        destination.Write(Bytes.AsSpan());
    }
}

如您所料,Stream.Write 的另一个版本可以解决问题。

offset

The zero-based byte offset in buffer at which to begin copying bytes to the current stream.

您想写入数组中的每个字节,因此您希望从第一个字节或偏移量 0 开始。

count

The number of bytes to be written to the current stream

您想写入数组中的每个字节,大豆您想要写入 Bytes.Length 个字节。

destination.Write(Bytes, 0, Bytes.Length);