ما هي أنواع البيانات الموجودة في C #

Ma Hy Anwa Albyanat Almwjwdt Fy C



تعد أنواع البيانات جانبًا مهمًا في أي لغة برمجة ، وتوفر C # العديد من أنواع البيانات التي تُستخدم للإعلان عن المتغيرات وتحديد الطرق وإنشاء الكائنات. في هذه المقالة ، سنناقش أنواع البيانات المختلفة في C # وفئاتها الفرعية ، بما في ذلك أنواع بيانات القيمة والمرجع والمؤشر.

ما أنواع البيانات الموجودة في C #؟

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







1: أنواع بيانات القيمة

أنواع بيانات القيمة هي تلك التي تخزن قيمها مباشرة في الذاكرة. يتم تخصيصها في المكدس وغالبًا ما يتم استخدامها لتخزين مجموعات البيانات الأصغر. فيما يلي الفئات الفرعية لأنواع بيانات القيمة:



نوع البيانات الرقمية



تُستخدم أنواع البيانات هذه لتخزين القيم الرقمية. يتم تقسيم أنواع البيانات العددية إلى عدة فئات فرعية ، مثل الكسور العشرية والأعداد الصحيحة وأرقام الفاصلة العائمة:





  • عدد صحيح: تُستخدم أنواع البيانات هذه لتخزين الأعداد الصحيحة وتشمل الفئات الفرعية للأعداد الصحيحة sbyte و byte و short و ushort و int و uint و long و ulong. يختلف نطاق القيم التي يمكن أن يحتويها كل تنسيق بيانات عدد صحيح.
  • أرقام النقطة العائمة: تُستخدم أنواع البيانات هذه لتخزين الأرقام العشرية وتشمل الفئات الفرعية لأرقام الفاصلة العائمة عددًا عائمًا ومزدوجًا. يمكن لـ Float تخزين ما يصل إلى 7 أرقام عشرية ، بينما يمكن أن يخزن المضاعف ما يصل إلى 15 رقمًا عشريًا.
  • الكسور العشرية: تُستخدم أنواع البيانات هذه لتخزين أعداد صحيحة عشرية عالية الدقة. يمكن أن يخزن النظام العشري ما يصل إلى 28 رقمًا عشريًا.

نوع البيانات المنطقية

يتم تخزين القيم المنطقية ، التي يمكن أن تكون صحيحة أو خاطئة فقط ، في هذا النوع من البيانات.



نوع بيانات الحرف

يتم تخزين الأحرف الفردية باستخدام نوع البيانات هذا.

مثال

يوضح رمز المثال التالي كيفية استخدام نوع بيانات القيمة في C #:

باستخدام النظام ؛

مساحة الاسم ValueDataTypesExample
{
برنامج الفصل
{
ثابت الفراغ الرئيسي ( خيط [ ] أرجس )
{
int myInt = 5 ؛
تعويم myFloat = 3.14f ؛
ضعف myDouble = 3.14159265359 ؛
منطقي myBool = حقيقي ؛
char myChar = 'أ' ؛

وحدة التحكم ( 'قيمة العدد الصحيح الخاص بي هي:' + myInt ) ؛
وحدة التحكم ( 'القيمة العائمة الخاصة بي هي:' + myFloat ) ؛
وحدة التحكم ( 'قيمتي المزدوجة هي:' + myDouble ) ؛
وحدة التحكم ( 'القيمة المنطقية الخاصة بي هي:' + myBool ) ؛
وحدة التحكم ( 'قيمة شخصيتي هي:' + myChar ) ؛
}
}
}

في هذا المثال ، قمنا بتعريف وتهيئة متغيرات لأنواع مختلفة من بيانات القيمة مثل int و float و double و bool و char. ثم قمنا بطباعة قيم هذه المتغيرات باستخدام طريقة Console.WriteLine ، سيكون ناتج هذا البرنامج:

2: أنواع البيانات المرجعية

أنواع البيانات المرجعية هي تلك التي تخزن مرجعًا إلى موقع الذاكرة حيث يتم تخزين القيمة. يتم تخصيصها على الكومة وتستخدم عادةً لتخزين كميات أكبر من البيانات. فيما يلي الفئات الفرعية لأنواع البيانات المرجعية:

فصل

في C # ، الفئة هي نوع مرجعي يعرّف مخططًا لإنشاء الكائنات.

خيط

يتم استخدام نوع البيانات المرجعية هذا لتخزين البيانات النصية ، والسلسلة هي نوع مرجعي ، ولكنها تتصرف مثل نوع القيمة بعدة طرق.

مجموعة مصفوفة

يمكن تخزين مجموعة من القيم من نفس النوع باستخدام نوع البيانات هذا. المصفوفات هي أنواع مرجعية ، ولكن يمكنها أيضًا التصرف مثل أنواع القيم في حالات معينة.

واجهه المستخدم

تحدد الواجهة مجموعة من الأساليب والخصائص والأحداث والمفهرسات ، دون تقديم أي تفاصيل عن التنفيذ.

مندوب

يسمح لك المفوض بتمرير أسلوب كوسيطة إلى أسلوب آخر ، ثم استدعاء هذه الطريقة لاحقًا من خلال المفوض.

مثال

إليك بعض نماذج كود C # التي توضح كيفية استخدامها أنواع البيانات المرجعية :

باستخدام النظام ؛

شخص من الدرجة الأولى
{
اسم السلسلة العامة ؛
عمومية عمومية ؛
}

برنامج الفصل
{
ثابت الفراغ الرئيسي ( خيط [ ] أرجس )
{
شخص person1 = شخص جديد ( ) ؛
person1.Name = 'نفسه' ؛
شخص 1. العمر = عشرين ؛

الشخص person2 = person1؛
الشخص2.العمر = 30 ؛

وحدة التحكم ( person1.Name + ' يكون ' + شخص 1. العمر + 'سنة'. ) ؛
وحدة التحكم ( person2.Name + ' يكون ' + شخص 2. العمر + 'سنة'. ) ؛
}
}

تحتوي فئة الشخص في هذا المثال على حقلين عامين: الاسم ، وهو من نوع السلسلة ، والعمر ، وهو من النوع int. بعد ذلك ، نقوم بعمل نسخة جديدة من صنف الشخص ونقوم بتعيينه إلى person1 في الطريقة الرئيسية. نقوم بتعديل سمات اسم الشخص 1 والعمر.

بعد ذلك ، نقوم بإنشاء متغير مرجعي آخر person2 ، ونخصص له قيمة person1. ثم نقوم بتغيير خاصية Age من person2 إلى 30.

أخيرًا ، نقوم بطباعة الاسم والعمر لكل من الشخص 1 والشخص 2. لاحظ أن تغيير قيمة 2. العمر يغير أيضًا قيمة 1- العمر ، لأن كلا المتغيرين يشيران إلى نفس الشيء هدف في الذاكرة.

3: أنواع بيانات المؤشر

تُستخدم أنواع بيانات المؤشر لتخزين عنوان الذاكرة لمتغير آخر. يتم استخدامها في البرمجة منخفضة المستوى ، مثل البرمجة على مستوى النظام أو تطوير برنامج تشغيل الجهاز . في C # ، لا يتم استخدام أنواع بيانات المؤشر مباشرة ، ولكن يمكن استخدامها في كتل التعليمات البرمجية غير الآمنة. فيما يلي الفئة الفرعية لأنواع بيانات المؤشر:

نوع بيانات المؤشر

يستخدم نوع البيانات هذا لتخزين عنوان الذاكرة لمتغير آخر.

هنا مثال يوضح استخدام أنواع بيانات المؤشر في C # على الرغم من أنها تتطلب الكثير من العناية:

باستخدام النظام ؛

برنامج الفصل {
ثابت الفراغ غير الآمن الرئيسي ( ) {
عدد int = 10 ؛
int * ع = & على واحد؛
وحدة التحكم ( $ 'قيمة الأسطوانات: {num}' ) ؛
وحدة التحكم ( $ 'عنوان الأسطوانات: {(طويلة) ص: س}' ) ؛
وحدة التحكم ( $ 'قيمة num باستخدام المؤشر: {* p}' ) ؛
وحدة التحكم ( ) ؛
}
}

في هذا المثال ، نستخدم الكلمة الأساسية غير الآمنة للسماح باستخدام المؤشرات. نعلن عن متغير من النوع int ونعطيه القيمة 10. نقوم بعد ذلك بإنشاء مؤشر متغير مؤشر من النوع int * وقمنا بتعيين عنوان الذاكرة للقيمة باستخدام عامل التشغيل &.

علاوة على ذلك ، نصل بعد ذلك إلى القيمة المخزنة في القيمة عن طريق إلغاء الإشارة المرجعية للمؤشر باستخدام عامل التشغيل * ، ويمكننا أيضًا تعديل القيمة باستخدام نفس العامل:

ملحوظة: يتطلب استخدام المؤشرات في C # مزيدًا من العناية والاهتمام لتجنب مشكلات إدارة الذاكرة ، لذلك يجب استخدامها فقط عند الضرورة وبحذر.

خاتمة

هناك العديد من أنواع البيانات المختلفة المتوفرة في C # والتي يمكن استخدامها في مهام مختلفة. يتم تخزين كميات أصغر من البيانات باستخدام أنواع بيانات القيمة ، ويتم تخزين كميات أكبر باستخدام أنواع البيانات المرجعية. تُستخدم أنواع بيانات المؤشر في البرمجة منخفضة المستوى ولا يتم استخدامها بشكل شائع في C #.