Cette documentation est archivée et n’est pas conservée.

Pointeurs et code unsafe (Guide de programmation C#)

Par défaut, C# ne prend pas en charge d'opérations arithmétiques sur les pointeurs pour maintenir la sécurité et la fiabilité des types. Toutefois, il est possible, avec le mot clé unsafe, de définir un contexte unsafe dans lequel des pointeurs peuvent être utilisés. Pour plus d'informations sur les pointeurs, consultez la rubrique Types de pointeurs.

RemarqueRemarque

Dans le Common Language Runtime (CLR), le code unsafe est connu sous le nom de code non vérifiable. Le code unsafe en C# n'est pas toujours dangereux ; c'est simplement du code dont le CLR ne peut pas vérifier la sécurité. Par conséquent, le CLR n'exécute du code unsafe que s'il se trouve dans un assembly d'un niveau de confiance suffisant. Si vous utilisez du code unsafe, il est de votre responsabilité de garantir qu'il n'entraîne pas de problèmes de sécurité ou d'erreurs de pointeur. Pour plus d'informations, consultez Sécurité et ‏C#.

Vue d'ensemble du code unsafe

Le code unsafe a les propriétés suivantes :

  • Les méthodes, types et blocs de code peuvent être définis comme unsafe.

  • Dans certains cas, le code unsafe augmente les performances d'une application lorsqu'il supprime les contrôles de taille de tableaux.

  • Le code unsafe est requis lors de l'appel de fonctions natives nécessitant des pointeurs.

  • L'utilisation d'un code unsafe introduit des risques de sécurité et de stabilité.

  • Pour que le code unsafe en C# puisse être compilé, l'application doit être compilée avec /unsafe.

Rubriques connexes

Spécification du langage C#

Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.

  • 18 Code unsafe

  • B.3 Extensions de syntaxe pour le code unsafe

Voir aussi

Afficher: