C# Struktur in ein Array ablegen

Gast #959329
Lesenswert?

Hallo,

habe eine Struktur die sagen wir, 2 Byte Typen und 2 Int Typen enthält

public struct test
{
    byte a1;
    byte a2;
    int  b1;
    int  b2;
}



Nun möchte ich diese Struktur in ein Byte Array der länge 6 
hineinschreiben.


test o_test = new test();
byte array = new byte[6];

array = o_test;        --> Klar, geht so nicht. Soll zeigen, was ich 
meine.

Wie kann ich sowas in C# machen?

array[0] = o_test.a1;
:
:

So könnte ich das auch mache. Bei den ints dann mit hin und her schiften 
würde das auch gehen. Ist aber wohl eher nicht die elegante Art.
#959403
Lesenswert?

Am besten mit dem BinaryFormatter in einen MemoryStream Serialisieren, 
aus diesem Stream bekommst du dann mit ToArray das ganze als Byte - 
Array.
1
[Serializeable]
2
struct MyStruct {...}
3

4
//...
5

6
using(MemoryStream stream = new MemoryStream()){
7
  BinaryFormatter formatter = new BinaryFormatter();
8
  formatter.Serialize(stream, myStructVariable);
9
  myArr = stream.ToArray();
10
}

(Ungetestet, hier im Forum implementiert)

greetz

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren