Zitat von
Macci:
Noch ein Beispiel, das in C# nicht funktioniert:
pi = arrayXYZ;
*(pi + 12) = 178;
Satz: Macci hat Unrecht
Beweis:
Code:
class Program {
unsafe public static void Test(int[] arrayXYZ) {
fixed(int* pi = &arrayXYZ[0]) {
*(pi + 12) = 178;
}
}
public static void Main() {
int[] bar = new int[13];
foreach(int i in bar) Console.Write("{0}:", i);
Console.WriteLine();
Test(bar);
foreach(int i in bar) Console.Write("{0}:", i);
}
}
Ausgabe
0:0:0:0:0:0:0:0:0:0:0:0:0:
0:0:0:0:0:0:0:0:0:0:0:0:178:
q.e.d.