Unsicherer Code und Zeiger

C# unterstützt die direkte Veränderung von Speicherinhalten durch Zeiger, die in als unsicher gekennzeichneten Codeblöcken genutzt werden und mit der Compileroption /unsafe kompiliert wurden. Zeigertypen werden vor allem aus Gründen der Interoperabilität mit C-APIs genutzt, sie können aber auch für den Zugriff auf Speicher außerhalb des verwalteten Heap oder für performancekritische Hotspots verwendet werden.

Zeigergrundlagen

Zu jedem Werttyp bzw. Referenztyp V gibt es einen korrespondierenden Zeigertyp V*. Eine Zeigerinstanz hält die Adresse einer Variablen. Zeigertypen können (unsicher) auf jeden anderen Zeigertyp gecastet werden. Die wichtigsten Zeigeroperatoren sind folgende:

Operator

Bedeutung

&

Der Adressoperator ...

Get C# 7.0 – kurz & gut, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.