Autor Beitrag
Wumpe
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 09.11.09 17:33 
Ich versuche gerade eine alte C++-Anwendung zu portieren und hänge momentan an diesem Problem:

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

Und ich habe es jetzt hiermit versucht:
ausblenden 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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 ;-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Wumpe Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: 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. ;)