在C#中,您可以使用System.Span<byte>
或System.Memory<byte>
来表示一个字节缓冲区
方法1:使用System.Span
using System;
class Program
{
static void Main()
{
// 创建一个长度为10的字节缓冲区
Span<byte> byteBuffer = new byte[10];
// 初始化字节缓冲区
for (int i = 0; i< byteBuffer.Length; i++)
{
byteBuffer[i] = (byte)i;
}
// 打印字节缓冲区内容
foreach (byte b in byteBuffer)
{
Console.WriteLine(b);
}
}
}
方法2:使用System.Memory
using System;
class Program
{
static void Main()
{
// 创建一个长度为10的字节缓冲区
Memory<byte> byteBuffer = new byte[10];
// 初始化字节缓冲区
for (int i = 0; i< byteBuffer.Length; i++)
{
byteBuffer.Span[i] = (byte)i;
}
// 打印字节缓冲区内容
foreach (byte b in byteBuffer.Span)
{
Console.WriteLine(b);
}
}
}
这两种方法都可以用于创建和初始化字节缓冲区。System.Span<byte>
和System.Memory<byte>
之间的主要区别在于,Memory<byte>
是可分配的,而Span<byte>
不是。这意味着您可以将Memory<byte>
传递给异步方法,而Span<byte>
不能。在大多数情况下,您可以根据需要选择使用哪种类型的缓冲区。