Hallo!
Wie gfoidl schon sagte, man kann auch in C# mit Zeigern arbeiten.
Das ist häufig nötig wenn man Interop Code schreibt um mit unmanaged DLLs zu kommunizieren.
Die Notation ist dieselbe also *.
Um Pointer Arithmetik verwenden zu können braucht man das unsafe Schlüsselwort:
Hier ein Bsp aus der MSDN
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| using System; class UnsafeTest { unsafe static void SquarePtrParam(int* p) { *p *= *p; }
unsafe static void Main() { int i = 5; SquarePtrParam(&i); Console.WriteLine(i); } } |
Man muss dafür bei den Compiler Optionen unsicheren Code zulassen. In Visual Studio geht das in den Projekteigenschaften - Erstellen - "Unsicheren Code zulassen"
Moderiert von
Christian S.: C#-Tags hinzugefügt