在C#中,ByteBuffer
類并不是一個內置類型
using System;
using System.Buffers;
class Program
{
static void Main()
{
byte[] data = new byte[1024]; // 創建一個包含1024字節的數組
IMemoryOwner<byte> memoryOwner = MemoryPool<byte>.Shared.Rent(data.Length); // 租用一個內存塊
Memory<byte> memory = memoryOwner.Memory; // 獲取內存塊的引用
memory.Span.Fill(0); // 將內存塊的所有字節設置為0
Console.WriteLine($"Capacity: {memory.Length}"); // 輸出內存塊的容量
Console.WriteLine($"Limit: {memory.Length}"); // 輸出內存塊的限制(這里與容量相同)
memoryOwner.Dispose(); // 釋放內存塊
}
}
在這個示例中,我們創建了一個包含1024字節的數組,并使用MemoryPool<byte>.Shared.Rent()
方法租用一個內存塊。然后,我們使用Memory<byte>
類型的變量memory
來表示這個內存塊。memory.Length
屬性表示內存塊的容量和限制,它們在這種情況下是相等的。最后,我們使用memoryOwner.Dispose()
方法釋放內存塊。