在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>
不能。在大多數情況下,您可以根據需要選擇使用哪種類型的緩沖區。