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. Zeigertyp 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# 5.0 kurz & gut 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.