unsafe (odwołanie w C#)
unsafe Słowa kluczowego oznacza niebezpieczne kontekstu, która jest wymagana dla każdego działania związanego z wskaźniki.Aby uzyskać więcej informacji, zobacz Niebezpieczny kod i wskaźniki (Przewodnik programowania w języku C#).
Można użyć unsafe modyfikator w deklaracji typu lub członka.Cały zakres tekstowy typu lub członka jest uważana za niebezpieczne kontekstu.Na przykład następujące to metody zadeklarowane z unsafe modyfikator:
unsafe static void FastCopy(byte[] src, byte[] dst, int count)
{
// Unsafe context: can use pointers here.
}
Zakres niebezpieczne kontekście rozciąga się od listy parametrów na koniec metoda, tak wskaźniki można również na liście parametrów:
unsafe static void FastCopy ( byte* ps, byte* pd, int count ) {...}
Aby umożliwić stosowanie niebezpieczny kod wewnątrz bloku ten umożliwia także blok niebezpieczne.Na przykład:
unsafe
{
// Unsafe context: can use pointers here.
}
Aby skompilować niebezpieczny kod, należy określić / unsafe opcję kompilatora.Niebezpieczny kod nie jest możliwe do zweryfikowania przez aparatu plików wykonywalnych języka wspólnego.
Przykład
// 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
Specyfikacja języka C#
Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.
Zobacz też
Informacje
fixed — Instrukcja (odwołanie w C#)
Niebezpieczny kod i wskaźniki (Przewodnik programowania w języku C#)
Bufory o ustalonym rozmiarze (Przewodnik programowania w języku C#)
Koncepcje
Przewodnik programowania w języku C#