güvenli olmayan (C# Reference)
unsafe Anahtar sözcüğünü işaretçiler içeren herhangi bir işlem için gerekli olan bir güvenli olmayan içerik gösterir. Daha fazla bilgi için bkz. Güvenli olmayan kod ve işaretçileri (C# Programlama Kılavuzu).
Kullanabileceğiniz unsafe bildiriminde bir tür ya da üye değiştiricisi. Bu nedenle tür ya da üye tüm metinsel ölçüde güvenli olmayan bir içerik olarak kabul edilir. Örneğin, aşağıdaki ile bildirilmiş bir yöntemi olan unsafe değiştirici:
unsafe static void FastCopy(byte[] src, byte[] dst, int count)
{
// Unsafe context: can use pointers here.
}
İşaretçiler parametre listesinde de kullanılabilmesi için güvenli olmayan içerik kapsamını parametre listeden yönteminin sonuna kadar genişletir:
unsafe static void FastCopy ( byte* ps, byte* pd, int count ) {...}
Bu blok içinde güvenli olmayan bir kod kullanımını etkinleştirmek için güvenli olmayan bir blok da kullanabilirsiniz. Örne?in:
unsafe
{
// Unsafe context: can use pointers here.
}
Güvenli olmayan kod derleme için belirtmeniz gerekir / unsafe derleyici seçeneği. Güvenli olmayan kod ortak dil çalışma zamanı tarafından doğrulanabilir değil.
Örnek
// 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
C# dil belirtiminin
Daha fazla bilgi için bkz: C# dil belirtiminin. Dil belirtimi, C# sözdizimi ve kullanımı için nihai kaynaktır.
Ayrıca bkz.
Başvuru
Güvenli olmayan kod ve işaretçileri (C# Programlama Kılavuzu)
Sabit boyutlu arabellekler (C# Programlama Kılavuzu)