Hi,
Im Moment siehts so aus, dass ich übers Netzwerk Daten geschickt bekomme. Die Socketklasse von C# (bzw dem .NET Framework) macht das ja alles über Byte-Arrays. Soweit ja in Ordnung. Allerdings will ich jetzt dieses Byte Array in ein struct kopieren, bzw das Array so interpretieren können.
Das ganze ist allerdings scheinbar nicht so einfach -.-
Ich habe keinen Move befehl o.ä. gefunden mit dem ich die Bytes einfach verschieben/kopieren kann und ein Pointer des structtyps auf dieses Array funktioniert auch nicht.
Also mein Quelltext (= Müll) sieht so aus:
Code:
public struct TPlayerState
{
public UInt16 id;
public int x;
public int y;
public UInt32 color;
}
// ...
byte[] buff = new byte[14];
// Daten in buff lesen
TPlayerState* x = (TPlayerState*)(byte*)buff[0]; //<---- *
// ...
*)
Zitat:
Zeiger und Puffer mit fester Größe können nur in einem nicht sicheren Kontext verwendet werden.
Ich versteh das nicht. Abgesehn davon, dass ich bei C# Pointer noch nicht so ganz verstanden hab glaub ich.
Also
=
var x: ^Typ;
=
x := @var;
Stimmt das soweit? Und wie dereferenziert man in C#? Und was soll wie gesagt oben diese Meldung? -.-
In Delphi ist das alles unkomplizierter.....
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."