Entwickler-Ecke

C# - Die Sprache - uint-Pointer auf ein ushort-Array?


Wumpe - Mo 09.11.09 17:33
Titel: uint-Pointer auf ein ushort-Array?
Ich versuche gerade eine alte C++-Anwendung zu portieren und hänge momentan an diesem Problem:

Der C++-Code lautet:

C#-Quelltext
1:
2:
unsigned short tempdata[34*2];
unsigned int *dat32= (unsigned int *) tempdata;

Und ich habe es jetzt hiermit versucht:

C#-Quelltext
1:
2:
ushort[] tempdata = new ushort[34*2];
uint* dat32 = (uint*)tempdata;


Fehlermeldung: Fehler CS0030: Eine Konvertierung vom Typ "ushort[]" in "uint*" ist nicht möglich.

Ich hoffe, ihr habt eine Idee. Bin noch ziemlich neu in C#.
Danke schonmal!

Wumpe


Christian S. - Mo 09.11.09 18:27

Ich denke, es ist nicht wirklich sinnvoll, in C# derart rumzupointern :D

Das ganze System ist eigentlich drauf ausgelegt, ohne Pointer auszukommen und nur in Ausnahmefällen die managed Umgebung zu verlassen. Die Blöcke, die man dann benutzt, heißen nicht umsonst unsafe ;-)


Wumpe - Mo 09.11.09 19:20

Naja, es geht hier halt sehr stark um das Verarbeiten und Entschlüsseln von Binärdaten...
Ich denke ohne Pointer wäre es noch viel komplizierter. :(

Edit: Habe diese Binärsachen jetzt als C++-DLL ausgelagert und mir den Ärger somit erspart. ;)