أنواع البيانات – Data Types
#C تعتمد بشكل كبير على ما يسمى بالأنواع، فكل شئ في هذه اللغة له نوع، هذه الأنواع تحدد المساحة التخزينية المتاحة للبيانات وطريقة تخزينها في ذاكرة الكومبيوتر.
قبل أن نتطرق لشرح الأنواع المختلفة في #C، دعنا نتعرف قليلاً على ذاكرة الكومبيوتر.
نستطيع أن نتخيل ذاكرة الكومبيوتر بأنها خزانة بها عدد من الأرفف، كل رف من هذه الأرفف يسمى بالـ "موضع" فذاكرة الكومبيوتر عبارة عن عدد معين من المواضع، وكل موضع من هذه المواضع عبارة عن سلسلة من الخانات الثنائية وكل خانة تسمى بت bit؛ وتحتوي هذه الخانة إما على 0 أو 1 بحيث أن كل 8 - بت تمثل بايت byte واحد.
وبهذا فإن جميع البيانات تخزن داخل هذه المواضع في صورة 0 أو 1 فقط
، كما هو موضح في الشكل التالي:
الشكل -1
الأنواع في
#C
تنقسم من حيث وجودها إلى قسمين:
أنواع جاهزة
أنواع غير جاهز
الأنواع الجاهزة هي الأنواع الموجودة ضمن مكتبة
.NET FRAMEWORK
وتسمى بالـ
Built-In Types
، وهي إما أن تكون أنواعاً رقمية أو غير رقمية.
الأنواع الرقمية:
الجدول - 1
الأنواع الغير الرقمية:
الجدول - 2
والقسم الثاني - الأنواع الغير جاهزة؛ هي أنواع يُعرِّفها المستخدم، وتسمى بالـ
User-Defined Types.
وهي ما سنتعرف عليه لاحقاً مثل:
class, struct, delegate, array,
و
interface.
تنقسم أيضاً الأنواع في
#C
من حيث طريقة التخزين إلى قسمين:
Value Type
Reference Type
جميع الأنواع الجاهزة التي تعرفنا عليها هي
Value Type
ما عدا النوع
string
فهو
Reference Type.
وجميع الأنواع الغير جاهزة هي
Reference Type
ما عدا النوع
struct
فهو
Value Type.
و الفرق بين هذين القسمين أنه في القسم الأول
Value Type
فإنه يتم تخزين القيمة مباشرة في الموضع المحجوز في ذاكرة الكومبيوتر مباشرة، فمثلاً لو عرفنا متغير من النوع
int
فإن قيمة هذا المتغير تحفظ في الذاكرة مباشرة، بينما في القسم الثاني
Reference Type
فإن موضع الذاكرة المحجوز بأحد أنواع هذا القسم المذكورة
-
كالنوع
string
-
يحمل عنوان موضع آخر حيث توجد به القيمة المخزنة.
والشكل التالي يوضح الفرق بين القسمين، حيث يبين الطريقة التي تخزن فيها البيانات. لدي متغيرين الأول
I=10
من النوع
int
والثاني
s="hello"
من النوع
string
.
الشكل -2
إذا كنت مبتدئ في البرمجة، فلا تقلق بشأن ما تعنيه كلمة " متغير "، لأن هذا ما سنتعرف عليه في الدرس القادم بإذن الله.
أنواع البيانات – Data Types - دروس سى شارب C# - دروس السى شارب C#