C# Language Introduction au code non sécurisé


Exemple

C # permet d'utiliser des variables de pointeur dans une fonction de bloc de code lorsqu'il est marqué par le modificateur unsafe . Le code non sécurisé ou le code non géré est un bloc de code qui utilise une variable de pointeur.

Un pointeur est une variable dont la valeur est l'adresse d'une autre variable, c'est-à-dire l'adresse directe de l'emplacement mémoire. similaire à toute variable ou constante, vous devez déclarer un pointeur avant de pouvoir l'utiliser pour stocker une adresse de variable.

La forme générale d'une déclaration de pointeur est la suivante:

type *var-name;

Voici les déclarations de pointeur valides:

int    *ip;    /* pointer to an integer */
double *dp;    /* pointer to a double */
float  *fp;    /* pointer to a float */
char   *ch     /* pointer to a character */

L'exemple suivant illustre l'utilisation de pointeurs en C #, en utilisant le modificateur unsafe:

using System;
namespace UnsafeCodeApplication
{
   class Program
   {
      static unsafe void Main(string[] args)
      {
         int var = 20;
         int* p = &var;
         Console.WriteLine("Data is: {0} ",  var);
         Console.WriteLine("Address is: {0}",  (int)p);
         Console.ReadKey();
      }
   }
}

Lorsque le code ci-dessus est compilé et exécuté, le résultat est le suivant:

Data is: 20
Address is: 99215364

Au lieu de déclarer une méthode entière comme non sécurisée, vous pouvez également déclarer une partie du code comme non sécurisée:

// safe code
unsafe
{
    // you can use pointers here
}
// safe code