البنيات (دليل البرمجة لـ #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)