الغير آمن ( مرجع C# )

الكلمة الأساسية unsafe تتدل على سياق غير آمن، المطلوب لأي عملية تشمل المؤشرات. لمزيد من المعلومات، راجع التعليمات البرمجية الغير آمنة والمؤشرات (دليل البرمجة لـ #C).

يمكنك استخدام المعدّل unsafe في تعريف نوع أو عضو. ولذلك يعتبر مدى النص بأكمله من نوع أو عضو في سياق غير آمن. على سبيل المثال, الأسلوب التالي يعرف المعدّل unsafe:

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

نطاق السياق الغير آمن يمتد من قائمة المعلمة لنهاية الأسلوب، حيث يمكن أيضا استخدام المؤشرات في قائمة المعلمة:

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

يمكنك أيضاً استخدام الكتل الغير آمنة لتمكين استخدام التعليمات البرمجية الغير آمنة داخل هذه الكتلة. فعلى سبيل المثال:

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

لترجمة تعليمات برمجية غير آمنة , يجب عليك تحديد خيار المحول البرمجي / غير آمنة التعليمات البرمجية الغير آمنة لا يمكن التحقق منها بوقت تشغيل اللغة العامة.

مثال

    // 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

لمزيد من المعلومات، راجع مواصفات لغة #C. مواصفات اللغة هي المصدر النهائي لبناء جملة C# واستخدامها.

راجع أيضًا:

المرجع

الكلمات الأساسية لـ #C

الكشف الثابت (مرجعC#)

التعليمات البرمجية الغير آمنة والمؤشرات (دليل البرمجة لـ #C)

ثابت حجم المخازن المؤقتة (البرمجة C# إرشادات)

المبادئ

دليل البرمجة لـ #C

موارد أخرى

مرجع C#‎