在C#中,您可以使用System.Span<byte>
或System.Memory<byte>
來表示一個字節(jié)緩沖區(qū)
方法1:使用System.Span
using System;
class Program
{
static void Main()
{
// 創(chuàng)建一個長度為10的字節(jié)緩沖區(qū)
Span<byte> byteBuffer = new byte[10];
// 初始化字節(jié)緩沖區(qū)
for (int i = 0; i< byteBuffer.Length; i++)
{
byteBuffer[i] = (byte)i;
}
// 打印字節(jié)緩沖區(qū)內容
foreach (byte b in byteBuffer)
{
Console.WriteLine(b);
}
}
}
方法2:使用System.Memory
using System;
class Program
{
static void Main()
{
// 創(chuàng)建一個長度為10的字節(jié)緩沖區(qū)
Memory<byte> byteBuffer = new byte[10];
// 初始化字節(jié)緩沖區(qū)
for (int i = 0; i< byteBuffer.Length; i++)
{
byteBuffer.Span[i] = (byte)i;
}
// 打印字節(jié)緩沖區(qū)內容
foreach (byte b in byteBuffer.Span)
{
Console.WriteLine(b);
}
}
}
這兩種方法都可以用于創(chuàng)建和初始化字節(jié)緩沖區(qū)。System.Span<byte>
和System.Memory<byte>
之間的主要區(qū)別在于,Memory<byte>
是可分配的,而Span<byte>
不是。這意味著您可以將Memory<byte>
傳遞給異步方法,而Span<byte>
不能。在大多數(shù)情況下,您可以根據需要選擇使用哪種類型的緩沖區(qū)。