Zugriff auf Strukturelemente mit einem Zeiger
Frage
Ich versuche, den folgenden Code aus C ++ zu C #
zu übersetzen`
struct tPacket
{
WORD size;
WORD opcode;
BYTE securityCount;
BYTE securityCRC;
}
...
static char data[8192] = {0};
tPacket * packet = (tPacket *)data;`
Bisher habe ich kommen mit:
C #
public struct tPacket
{
public ushort size;
public ushort opcode;
public byte securityCount;
public byte securityCRC;
}
public static byte[] data = new byte[1024];
tPacket packet = new tPacket();
packet = (tPacket *)data;
Allerdings bekomme ich einen Fehler "Can not Typen konvertieren 'byte []' auf‚MyNameSpace.tPacket *"
Der gesamte Code wird ein empfangenes Paket-Puffer (Daten) in eine Struktur dann Zugriff direkt auf die Strukturelemente setzen verwendet. Jede Hilfe wird geschätzt! Vielen Dank im Voraus.
Lösung
Hier ist ein Link, die helfen könnten:
http : //varjabedian.net/archive/2008/07/29/casting-a-byte-array-into-structures-in-c.aspx
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow