Ich habe viele Beispiele gesehen, wie man eine Struktur in ein Byte-Array konvertiert, indem man ein neues Byte-Array erstellt.Wie schreibe ich eine Struktur in ein bereits existierendes Byte-Array?
Aber ich versuche, dies zu vermeiden. Ich habe einen Nachrichtenpuffer von Byte [1024] und ich möchte meine Struktur in dieses Byte-Array von Index 1 an schreiben. Index 0 ist die Kopfzeile, also überspringe ich diese.
Ich kann keine Beispiele dafür finden, ohne ein neues Byte-Array zu erstellen. Ist das überhaupt möglich?
Wie ich konvertieren derzeit Objekte Bytefeldgruppen:
public static byte[] GetBytes<T>(T data)
{
int size = Marshal.SizeOf(data);
byte[] arr = new byte[size];
IntPtr ptr = Marshal.AllocHGlobal(size);
Marshal.StructureToPtr(data, ptr, true);
Marshal.Copy(ptr, arr, 0, size);
Marshal.FreeHGlobal(ptr);
return arr;
}
Das Problem dabei seine bei Index 0 das Objekt auf einem neuen Array schreiben muss ich es Index 1 weiter anzuwenden. Wobei Index 0 die Größe der Struktur in Bytes angibt.
Wenn Sie Um ein vorhandenes Byte-Array zu verwenden, anstatt ein neues Byte-Array zu erstellen, übergeben Sie das vorhandene Byte-Array und verwenden Sie es. Welches Problem hast du damit? – Servy
Welche Serialisierungs-API verwenden Sie? Welche Beispiele? Es gibt keine kanonische Methode, um eine willkürliche Struktur in ein Byte-Array umzuwandeln, so dass die Antworten überall stehen, wenn Sie die Frage nicht mit weiteren Informationen oder einem bestimmten Beispiel einschränken. –
Zeigen Sie bitte den Code, den Sie verwenden, um ein neues Byte-Array zu erstellen? –