Sdílet prostřednictvím


unsafe (Referenční dokumentace jazyka C#)

unsafe Klíčové slovo označuje nebezpečné kontext, který je požadován pro všechny operace zahrnující ukazatele.Další informace naleznete v tématu Nezabezpečený kód a ukazatele (Průvodce programováním v C#).

Můžete použít unsafe modifikátor deklarace typu nebo člena.Celý rozsah textový typ nebo člen proto považují za nebezpečné kontextu.Například následující je metoda deklarována s unsafe modifikátor:

unsafe static void FastCopy(byte[] src, byte[] dst, int count)
{
    // Unsafe context: can use pointers here.
}

Obor kontextu unsafe rozšiřuje ze seznamu parametr konec metody, takže ukazatele lze použít také v seznamu parametrů:

unsafe static void FastCopy ( byte* ps, byte* pd, int count ) {...}

Nebezpečné bloku můžete také povolit nezabezpečený kód uvnitř tohoto bloku.Příklad:

unsafe
{
    // Unsafe context: can use pointers here.
}

Kompilace nebezpečný kód, je nutné zadat / unsafe volba kompilátoru.Nebezpečný kód není ověřitelné podle společného jazykového modulu runtime.

Příklad

// compile with: /unsafe 

    class UnsafeTest
    {
       // Unsafe method: takes pointer to int: 
       unsafe static void SquarePtrParam(int* p)
       {
          *p *= *p;
       }

       unsafe static void Main()
       {
          int i = 5;
          // Unsafe method: uses address-of operator (&):
          SquarePtrParam(&i);
          Console.WriteLine(i);
       }
    }
    // Output: 25

Specifikace jazyka C#

Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.

Viz také

Referenční dokumentace

Klíčová slova jazyka C#

fixed – příkaz (Referenční dokumentace jazyka C#)

Nezabezpečený kód a ukazatele (Průvodce programováním v C#)

Vyrovnávací paměti pevné velikosti (Průvodce programováním v C#)

Koncepty

Průvodce programováním v C#

Další zdroje

Referenční dokumentace jazyka C#