Unsicherer Code und Zeiger (C#-Programmierhandbuch)

Um Typsicherheit und Sicherheit zu gewährleisten, unterstützt C# standardmäßig keine Zeigerarithmetik.Mit dem unsafe-Schlüsselwort können Sie jedoch einen unsicheren Kontext definieren, in dem Zeiger verwendet werden können.Weitere Informationen zu Zeigern finden Sie unter dem Thema Zeigertypen.

HinweisHinweis

In der Common Language Runtime (CLR) wird unsicherer Code als nicht überprüfbarer Code bezeichnet.Unsicherer Code in C# ist nicht zwangsläufig gefährlich. Es handelt sich vielmehr um Code, dessen Sicherheit nicht durch die CLR überprüft werden kann.Die CLR führt deshalb unsicheren Code nur dann aus, wenn er sich innerhalb einer vollständig vertrauenswürdigen Assembly befindet.Wenn Sie unsicheren Code verwenden, sind Sie dafür verantwortlich, dass der Code keine Sicherheitsrisiken oder Zeigerfehler einführt.

Übersicht über unsicheren Code

Unsicherer Code weist die folgenden Eigenschaften auf:

  • Methoden, Typen und Codeblöcke können als unsicher definiert werden.

  • In einigen Fällen kann unsicherer Code möglicherweise die Leistung einer Anwendung steigern, indem die Überprüfungen der Arraygrenzen entfernt werden.

  • Unsicherer Code ist erforderlich, wenn systemeigene Funktionen aufgerufen werden, die Zeiger erfordern.

  • Durch unsicheren Code werden Sicherheits- und Stabilitätsrisiken eingeführt.

  • Damit unsicherer Code in C# kompiliert wird, muss die Anwendung mit /unsafe kompiliert werden.

Verwandte Abschnitte

Weitere Informationen finden Sie unter:

C#-Programmiersprachenspezifikation

Weitere Informationen finden Sie in der C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auch

Konzepte

C#-Programmierhandbuch