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.