C# LanguageZeiger


Bemerkungen

Hinweise und unsafe

Zeiger erzeugen naturgemäß nicht überprüfbaren Code. Daher erfordert die Verwendung eines beliebigen Zeigertyps einen unsafe Kontext.

Der Typ System.IntPtr ist ein sicherer Wrapper um eine void* . Es ist eine bequemere Alternative zu void* wenn ansonsten ein unsicherer Kontext nicht erforderlich ist, um die vorliegende Aufgabe auszuführen.

Undefiniertes Verhalten

Wie in C und C ++ kann eine falsche Verwendung von Zeigern undefiniertes Verhalten verursachen, wobei mögliche Nebeneffekte Speicherbeschädigung und die Ausführung von nicht beabsichtigtem Code sein können. Aufgrund der nicht nachweisbaren Natur der meisten Zeigeroperationen liegt die korrekte Verwendung von Zeigern vollständig in der Verantwortung des Programmierers.

Typen, die Zeiger unterstützen

Im Gegensatz zu C und C ++ haben nicht alle C # -Typen entsprechende Zeigertypen. Ein Typ T kann einen entsprechenden Zeigertyp haben, wenn beide der folgenden Kriterien zutreffen:

  • T ist ein Strukturtyp oder ein Zeigertyp.
  • T enthält nur Member, die beide dieser Kriterien rekursiv erfüllen.

Zeiger Verwandte Beispiele