在C#中,可以使用System.IO.MemoryStream
和System.IO.BinaryReader
/System.IO.BinaryWriter
來實現類似于Java中ByteBuffer
的功能
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
// 創建一個MemoryStream實例,用于存儲字節數據
using (MemoryStream memoryStream = new MemoryStream())
{
// 創建一個BinaryWriter實例,用于向MemoryStream中寫入數據
using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream, Encoding.UTF8, true))
{
// 寫入數據
binaryWriter.Write(123); // int
binaryWriter.Write(456.789f); // float
binaryWriter.Write("Hello, World!"); // string
// 將MemoryStream的位置重置為0,以便從頭開始讀取數據
memoryStream.Position = 0;
// 創建一個BinaryReader實例,用于從MemoryStream中讀取數據
using (BinaryReader binaryReader = new BinaryReader(memoryStream, Encoding.UTF8, true))
{
// 讀取數據
int intValue = binaryReader.ReadInt32();
float floatValue = binaryReader.ReadSingle();
string stringValue = binaryReader.ReadString();
// 輸出讀取到的數據
Console.WriteLine($"Int: {intValue}");
Console.WriteLine($"Float: {floatValue}");
Console.WriteLine($"String: {stringValue}");
}
}
}
}
}
在這個示例中,我們首先創建了一個MemoryStream
實例,然后使用BinaryWriter
向其中寫入了一個整數、一個浮點數和一個字符串。接著,我們將MemoryStream
的位置重置為0,以便從頭開始讀取數據。最后,我們使用BinaryReader
從MemoryStream
中讀取數據,并將讀取到的數據輸出到控制臺。