أنواع القيم وأنواع المراجع

تتكون أنواع القيمة من فئتين رئيسيتين:

تنقسم البنيات في هذه الفئات:

المميزات الرئيسية لأنواع القيمة

المتغيرات التي تستند إلى أنواع القيمة تتضمن القيم مباشرةً. تعيين متغير واحد من نوع قيمة إلى النسخ أخرى تتضمن القيمة . وهذا يختلف عن تعيين متغيرات نوع المرجع الذي يقوم بنسخ المرجع للكائن ولكن ليس للكائن نفسه.

كل أنواع القيمة مشتقة ضمنيًا من System.ValueType.

بعكس مع أنواع المرجع, لا يمكنك اشتقاق نوع جديد من نوع القيمة. ومع ذلك، مثل أنواع المرجع يمكن للبنيات تطبيق الواجهات.

على عكس أنواع المرجع, فإن نوع القيمة لا يمكن أن يحتوي على قيمة null. ومع ذلك، فإن ميزة الأنواع التي تقبل قيم خالية تسمح لأنواع القيم أن يتم تعيينها إلى null.

يحتوي كل نوع قيمة على دالة إنشائية ضمنية افتراضية تقوم بتهيئة القيمة الافتراضية لذلك النوع. للحصول على معلومات حول االقيم الافتراضية لأنواع القيمة راجع جدول القيم الافتراضية.

الميزات الرئيسية للأنواع البسيطة

كل الأنواع البسيطة-- تلك التي تكون متكاملتها للغة C#--هي أسماء مستعارة لأنواع "نظام.NET Framework". على سبيل المثال، العدد الصحيح هو اسم مستعار لـ System.Int32. للحصول على قائمة كاملة من الأسماء المستعارة راجع جدول الأنواع المضمنة (مرجع C#).

يتم تقييم التعبيرات ثابتة ، والتي تكون كل معاملاتها ثوابت نوع بسيط ، في وقت التحويل البرمجي.

يمكن تهيئة الأنواع البسيطة باستخدام القيم الحرفية. على سبيل المثال، 'A' قيمة حرفية لنوع char و 2001 هو قيمة حرفية من نوع int.

تهيئة أنواع القيمة

يجب تهيئة المتغيرات المحلية في C# قبل استخدامها. على سبيل المثال، قد تقوم بتعريف متغير محلي بدون تهيئته كما هو موضح في المثال التالي:

int myInt;

لا يمكنك استخدامه قبل أن تقوم بتهيّئته. يمكن تهيئته باستخدام الكشف التالي:

myInt = new int();  // Invoke default constructor for int type.

يكافئ هذا الكشف الكشف التالي:

myInt = 0;         // Assign an initial value, 0 in this example.

يمكنك, بالطبع, أن تضع التعريف و التهئية في الكشف ذاته, كما في الأمثلة التالية:

int myInt = new int();

ـــ أو ـــ

int myInt = 0;

باستخدام معامل تشغيل جديد يستدعي الدالة الانشائية الافتراضية لنوع محدد وتعيين قيمة افتراضية للمتغير. في المثال السابق، الدالة الإنشائية الافتراضية تعين قيمة 0 إلى myInt. للمزيد من المعلومات حول القيم المعينة بواسطة استدعاء الدوال الإنشائية الافتراضية, راجع جدول القيم الافتراضية.

مع الأنواع المعرفة من قبل المستخدم, استخدم جديد لاستدعاء الدالة الإنشائية الافتراضية. على سبيل المثال، يستدعي الكشف التالي الدالة الإنشائية للبنية Point :

Point p = new Point(); // Invoke default constructor for the struct.

بعد ذلك الاستدعاء، يتم اعتبار البنية قد تمت تهيئتها؛ أي يتم تهيئة جميع أعضائها إلى قيمها الافتراضية.

لمزيد من المعلومات حول عناصر التحكم الجديدة، راجع 51y09td4(v=vs.100).md.

لمزيد من المعلومات حول تنسيق الإخراج للأنواع الرقمية راجع جدول نتائج التنسيق الرقمي.

راجع أيضًا:

المرجع

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

مرجع أنواع (C# مرجع)

المبادئ

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

موارد أخرى

مرجع C#‎

الأنواع (مرجع C#)

جداول أنواع المرجع (مرجع C# )