En Delphi, uno puede hacer lo siguiente:Escribir casos tipo arbitrario en un MemoryStream en C#
var
ms : TMemoryStream;
i : Integer;
begin
ms := TMemoryStream.Create;
i := 1024;
ms.Write(@i, SizeOf(Integer));
ms.Free;
end;
Esto escribirá los contenidos de la memoria de i en ms.
La versión .Net de MemoryStream no tiene esa característica (ni las versiones administradas ni no administradas). Sé que .Net no funciona con los mismos principios que Delphi en este sentido.
¿Cómo se hace esto en C#? Estoy interesado en la "mejor práctica" y los métodos más rápidos.
SizeOf() lo determina el compilador, no en tiempo de ejecución. Este estilo de serialización es sorprendentemente rápido y simple. – IamIC