Einzelnen Beitrag anzeigen

Macci

Registriert seit: 31. Mai 2007
129 Beiträge
 
#65

Re: .net-Strategie von Microsoft (?)

  Alt 14. Mär 2008, 14:57
Ja, jedoch ist das nicht der Code, den ich geschrieben habe. Denn ...

Zitat:
unsafe public static void Test(int[] arrayXYZ)
{
int *pi;
pi = arrayXYZ;
*(pi + 12) = 178;
}

int[] bar = new int[13];
Test(bar);
... führt zu:

Zitat:
Fehler CS0029: Eine implizite Konvertierung vom Typ "int[]" in "int*" ist nicht möglich.
In C++ klappt es dagegen wunderbar.

Außerdem funktioniert dein Code nur in einem als unsafe gekennzeichnetem Bereich, und ein extra Compilerschalter ist erforderlich, damit das überhaupt erlaubt ist.

Aus der C#-Hilfe:

Zitat:
In der Common Language Runtime (CLR) wird unsicherer Code als nicht überprüfbarer Code bezeichnet. Unsicherer Code in C# ist nicht zwangsläufig gefährlich. Es handelt sich vielmehr um Code, dessen Sicherheit nicht durch die CLR überprüft werden kann. Die CLR führt deshalb unsicheren Code nur dann aus, wenn er sich innerhalb einer vollständig vertrauenswürdigen Assembly befindet.
  Mit Zitat antworten Zitat