C# · 12月 24, 2021

在C#中将任意类型实例写入MemoryStream

在Delphi中,可以执行以下操作: var ms : TMemoryStream; i : Integer;begin ms := TMemoryStream.Create; i := 1024; ms.Write(@i,SizeOf(Integer)); ms.Free;end;

这会将i的内存内容写入ms.

MemoryNet的.Net版本没有这样的功能(托管版本和非托管版本).我知道.Net在这方面与Delphi的原理不同.

如何在C#中做到这一点?我对“最佳实践”和最快的方法感兴趣.

@H_502_10@解决方法 尝试在MemoryStream上使用 BinaryWriter: MemoryStream memoryStream = new MemoryStream(); BinaryWriter writer = new BinaryWriter(memoryStream);writer.Write((int)123);

注意:不要忘记在实际代码中处理流和编写器/阅读器,即使用.

@H_502_10@ @H_502_10@