البنيات (دليل البرمجة لـ #C)

يتم تعريف البنيات باستخدام الكلمة الأساسية struct، على سبيل المثال:

public struct PostalAddress
{
    // Fields, properties, methods and events go here...
}

تتشارك البنيات في معظم بناء الجملة مع الفئات, على الرغم من أن البنيات محدودة أكثر من الفئات:

  • ضمن تعريف البنية، لا يمكن تهيئة الحقول إلا إذا تم تعريفها كثابت (const) أو كثابت (static).

  • لا يمكن للبنية من تعريف دالة إنشائية افتراضية (دالة إنشائية من دون معلمات) أو دالة مدمّره.

  • يتم نسخ البنيات عند التعيين. عند تعيين بنية لمتغير جديد يتم نسخ كل البيانات وأي تعديلات على النسخة الجديدة لا يغير بيانات النسخة الأصلية. هذا مهم ويجب تذكره عند العمل مع مجموعات أنواع القيم مثل Dictionary<string, myStruct>.

  • البنيات عبارة عن أنواع قيم والفئات عبارة عن أنواع مراجع.

  • على عكس الفئات، يمكن إنشاء مثيلات للبنيات بدون استخدام عامل التشغيل new.

  • يمكن أن تقوم البنيات بتعريف دوال إنشائية ذات معلمات.

  • لا ترث البنية من بنية أو فئة أخرى ولا يمكن أن تكون أساس لفئة. جميع البنيات ترث مباشرة من System.ValueType التي ترث من System.Object.

  • يمكن للبنية أن تقوم بتطبيق الواجهات.

  • يمكن استخدام البنية كنوع يقبل بيانات فارغة ويمكن تعيين القيمة null.

الأقسام ذات الصلة

لمزيد من المعلومات:

راجع أيضًا:

المرجع

الفئات والبنيات (دليل البرمجة لـ #C)

الفئات (دليل البرمجة لـ #C)

المبادئ

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

تصميم بنية