أنواع البيانات في لغة C#: Double، عدد صحيح، تعويم، شار
⚡ ملخص ذكي
تحدد أنواع البيانات في لغة C# نوع القيم التي يمكن أن يحملها المتغير، بدءًا من الأعداد الصحيحة والأعداد العشرية وحتى القيم المنطقية والسلاسل النصية، كما تحدد مقدار الذاكرة التي يحجزها كل متغير أثناء تنفيذ البرنامج.
ما هي أنواع البيانات في C#؟
تأتي لغة C# مع مجموعة من أنواع البيانات الأساسية. تُستخدم أنواع البيانات هذه لبناء القيم المستخدمة داخل التطبيق. دعنا نستكشف أنواع البيانات الأساسية المتوفرة في C#. لكل مثال، سنقوم بتعديل الوظيفة الرئيسية فقط في ملف Program.cs الخاص بنا.
1) عدد صحيح
تُستخدم أنواع البيانات الصحيحة للعمل مع الأرقام. في هذه الحالة، تكون الأرقام عبارة عن أرقام صحيحة مثل 10 أو 20 أو 30. في لغة C#، يتم الإشارة إلى نوع البيانات بواسطة الكلمة الأساسية Int32. فيما يلي مثال لكيفية استخدام نوع البيانات هذا. في مثالنا، سوف نقوم بتعريف متغير Int32 يسمى num. سنقوم بعد ذلك بتعيين قيمة عددية للمتغير ثم نعرضها وفقًا لذلك.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32 num=30; Console.Write(num); Console.ReadKey(); } } }
Code تفسير:-
- تم تحديد نوع البيانات Int32 للإعلان عن متغير عدد صحيح يسمى num. ثم يتم تعيين قيمة المتغير 30.
- وأخيرًا، يتم استخدام وظيفة console.write لعرض الرقم على وحدة التحكم.
إذا تم إدخال الكود أعلاه بشكل صحيح وتم تنفيذ البرنامج بنجاح، سيتم عرض الإخراج التالي.
الإخراج:
من الناتج، يمكنك أن ترى بوضوح أن المتغير Integer المسمى num تم عرضه في وحدة التحكم
2) Double
يتم استخدام نوع البيانات المزدوج للعمل مع الأعداد العشرية. في هذه الحالة، تكون الأرقام عبارة عن أرقام صحيحة مثل 10.11 أو 20.22 أو 30.33. في لغة C#، يتم الإشارة إلى نوع البيانات بالكلمة الأساسية "Double". يوجد أدناه مثال على نوع البيانات هذا.
في مثالنا، سنقوم بتعريف متغير مزدوج يسمى num. ثم سنقوم بتعيين Double القيمة إلى المتغير ثم عرضها وفقًا لذلك.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { double num=30.33; Console.Write(num); Console.ReadKey(); } } }
Code تفسير:-
- يتم تحديد نوع البيانات المزدوج للإعلان عن نوع مزدوج متغير يسمى رقم. ثم يتم تعيين قيمة للمتغير 30.33.
- وأخيرًا، يتم استخدام وظيفة console.write لعرض الرقم على وحدة التحكم.
إذا تم إدخال الكود أعلاه بشكل صحيح وتم تنفيذ البرنامج بنجاح، سيتم عرض الإخراج التالي.
الإخراج:
من الناتج، يمكنك أن ترى بوضوح أن المتغير المزدوج المسمى num تم عرضه في وحدة التحكم
3) منطقية
يتم استخدام نوع البيانات المنطقية للعمل مع القيم المنطقية لـ صح وخطأ. في C#، تتم الإشارة إلى نوع البيانات بواسطة الكلمة الأساسية المنطقية. فيما يلي مثال على نوع البيانات هذا الذي يمكن استخدامه.
في مثالنا، سوف نقوم بتعريف متغير منطقي يسمى "الحالة". سنقوم بعد ذلك بتعيين قيمة منطقية للمتغير ثم نعرضها وفقًا لذلك.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Boolean status=true; Console.Write(status); Console.ReadKey(); } } }
Code تفسير:-
- تم تحديد نوع البيانات المنطقية للإعلان عن متغير منطقي يسمى "الحالة". ثم يتم تعيين قيمة للمتغير صواب/خطأ.
- وأخيرًا، يتم استخدام وظيفة console.write لعرض القيمة المنطقية على وحدة التحكم.
إذا تم إدخال الكود أعلاه بشكل صحيح وتم تنفيذ البرنامج بنجاح، سيتم عرض الإخراج.
الإخراج:
من الناتج، يمكنك أن ترى بوضوح أن المتغير المنطقي الذي يساوي true تم عرضه في وحدة التحكم
4) سلسلة
يتم استخدام نوع بيانات السلسلة للعمل مع قيم السلسلة. في C#، يُشار إلى نوع البيانات بالكلمة الأساسية "String". يوجد أدناه مثال على نوع البيانات هذا.
في مثالنا، سوف نقوم بتعريف متغير سلسلة يسمى "رسالة". سنقوم بعد ذلك بتعيين قيمة سلسلة للمتغير ثم عرضها وفقًا لذلك.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class program { static void Main(string[] args) { String message="Hello"; Console.Write(message); Console.ReadKey(); } } }
Code تفسير:-
- تم تحديد نوع بيانات السلسلة للإعلان عن متغير سلسلة يسمى الرسالة. ثم يتم تعيين قيمة "Hello" للمتغير.
- وأخيرًا، يتم استخدام وظيفة console.write لعرض قيمة السلسلة على وحدة التحكم.
إذا تم إدخال الكود أعلاه بشكل صحيح وتم تنفيذ البرنامج بنجاح، سيتم عرض الإخراج.
الإخراج:
من الناتج، يمكنك أن ترى بوضوح أن متغير السلسلة المسمى message تم عرضه في وحدة التحكم
قائمة كاملة بأنواع البيانات في لغة C#
تُغطي الأمثلة الأربعة أعلاه أكثر أنواع البيانات شيوعًا، لكن لغة C# تُوفر مجموعة كاملة من أنواع بيانات القيم المُدمجة. يحجز كل نوع مقدارًا ثابتًا من الذاكرة ويقبل نطاقًا مُحددًا من القيم، لذا فإن اختيار أصغر نوع يُناسب بياناتك بأمان يُحافظ على كفاءة البرنامج.
| نوع البيانات | المقاس | يتراوح / Descriptأيون |
|---|---|---|
| بايت | بايت 1 | 0 إلى 255 |
| في صفقات | بايت 2 | -32,768 ل32,767 |
| int (Int32) | بايت 4 | -2,147,483,648 ل2,147,483,647 |
| التداول الطويل | بايت 8 | أعداد صحيحة كبيرة جدًا (±9.2 كوينتيليون) |
| الطفو | بايت 4 | الأعداد العشرية بدقة تتراوح بين 6 و7 رقمًا تقريبًا |
| مضاعفة | بايت 8 | الأعداد العشرية بدقة تتراوح بين 15 و16 رقمًا تقريبًا |
| عدد عشري | بايت 16 | أرقام عشرية عالية الدقة (28-29 رقمًا) للنقود |
| دبابة | بايت 2 | حرف واحد من رموز يونيكود |
| منطقي | بايت 1 | صحيحة أو خاطئة |
إلى جانب أنواع القيم هذه، يُعد نوع السلسلة النصية أكثر أنواع المراجع استخدامًا، حيث يخزن سلسلة من الأحرف بأي طول. ويؤدي اختيار النوع المناسب إلى تجنب أخطاء تجاوز السعة واستخدام الذاكرة غير الضروري.
أنواع القيم مقابل أنواع المراجع في لغة C#
تنقسم جميع أنواع البيانات في لغة C# إلى مجموعتين رئيسيتين: أنواع القيم وأنواع المراجع. ويتحكم هذا التمييز في كيفية تخزين البيانات في C# وكيفية تصرف المتغير عند نسخه أو تمريره إلى دالة.
- أنواع القيم: تخزن هذه الأنواع البيانات الفعلية مباشرةً، عادةً على المكدس. int، double، bool، char، التعدادو struct هما نوعان من أنواع القيم. إن إسناد قيمة لمتغير إلى آخر يؤدي إلى نسخ القيمة، وبالتالي يظل المتغيران مستقلين.
- أنواع المراجع: تُخزّن هذه الأنواع مرجعًا (عنوانًا في الذاكرة) يُشير إلى البيانات الموجودة في الكومة. تُعدّ السلاسل النصية والكائنات والمصفوفات ومثيلات الفئات من أنواع المراجع. عند نسخ متغير مرجعي، يتم نسخ العنوان فقط، وبالتالي يشترك كلا المتغيرين في نفس الكائن.
لا يمكن أن تكون قيمة متغير من نوع القيمة فارغة (null) لأنه يحمل قيمة دائمًا، بينما تكون القيمة الافتراضية لمتغير من نوع مرجعي غير مهيأ فارغة (null). يساعدك فهم هذا الفرق على توقع كيفية انتقال التغييرات في البيانات عبر البرنامج.
تحويل الأنواع في لغة C#
تحتاج لغة C# بشكل متكرر إلى تحويل قيمة من نوع بيانات إلى آخر، مثل تحويل مدخلات المستخدم، التي تكون دائمًا نصية، إلى رقم. تُسمى هذه العملية بتحويل النوع، وتحدث بثلاث طرق رئيسية.
- التحويل الضمني: يقوم المترجم بالتحويل تلقائيًا عندما لا يكون هناك خطر فقدان البيانات، مثل إسناد قيمة عددية صحيحة إلى قيمة عددية مزدوجة. لا يتطلب الأمر أي صيغة خاصة.
- التحويل الصريح (التحويل النوعي): ضع نوع البيانات المستهدف بين قوسين، على سبيل المثال (int)myDoubleقد يؤدي التحويل إلى فقدان البيانات - فتحويل عدد عشري مزدوج إلى عدد صحيح يؤدي إلى حذف الجزء العشري - لذا فإنك تقبل المخاطرة عن قصد.
- طرق مساعدة: تقوم فئة Convert (Convert.ToInt32) وطريقة Parse لكل نوع (int.Parse) بتحويل السلاسل النصية إلى أرقام، بينما تقوم ToString بتحويل القيم مرة أخرى إلى نص قابل للقراءة.
يؤدي اختيار التحويل الصحيح إلى الحفاظ على دقة البيانات ومنع حدوث أخطاء وقت التشغيل عندما لا تتطابق الأنواع على جانبي عملية التعيين.









