🔷 C#

المتغيرات وأنواع البيانات في C#

```html

ما هذا ولماذا؟

تخيل أن حاسوبك عبارة عن خزانة ضخمة بها أدراج. في كل درج يمكنك تخزين شيء واحد: لعبة، كتاب، أو دفتر. المتغير هو مثل هذا الدرج، له اسم (مثل "مقلمتي")، ونوع البيانات هو قاعدة تحدد ما يمكنك وضعه بالضبط في هذا الدرج. إذا كان الدرج مكتوبًا عليه "ألعاب"، فلن تضع كتابًا فيه — إما لن يسع أو سينكسر.

في البرمجة نفس الشيء: المتغير يخزن قيمة (رقم، كلمة، صواب/خطأ)، ونوع البيانات يخبر الحاسوب كيف يتعامل مع هذه القيمة. على سبيل المثال، يمكن جمع الأرقام، ويمكن ربط الكلمات. إذا خلطت بين الأنواع، قد يرتبك البرنامج ويظهر خطأ.

لماذا هذا ضروري؟ لكي يفهم برنامجك: "في المتغير age يوجد الرقم 12، وفي المتغير name يوجد النص 'مريم'". بدون أنواع البيانات، لن يعرف الحاسوب إذا كان بإمكانه كتابة age + name (هذا مثل السؤال: "كم يساوي 12 زائد مريم؟" — لا معنى له!).

الصيغة وأمثلة الكود

في لغة C#، يتم تعريف المتغير كالتالي: أولاً نكتب نوع البيانات، ثم اسم المتغير، ثم علامة = والقيمة. في النهاية يجب وضع فاصلة منقوطة ; — وهي مثل النقطة في نهاية الجملة.

// مثال 1: عدد صحيح (int)
int age = 12; // "int" — الأعداد الصحيحة: 0, 1, -5, 1000
// الآن في المتغير age يوجد الرقم 12
// يمكن استخدامه: age + 5 = 17
// مثال 2: عدد عشري (double)
double price = 99.99; // "double" — الأعداد بجزء عشري: 3.14, -0.5
// انتبه: في لغة C# الفاصلة العشرية تُكتب بنقطة!
// price * 2 = 199.98
// مثال 3: نص (string)
string name = "آية"; // "string" — نص بين علامتي اقتباس
// يمكن ربطه: "مرحبًا, " + name = "مرحبًا, آية"
// علامات الاقتباس يجب أن تكون مزدوجة: " "
// مثال 4: صواب أو خطأ (bool)
bool isStudent = true; // "bool" — فقط true (صواب) أو false (خطأ)
// يُستخدم في الأسئلة: "هل أنت طالب؟" — true
// مثال 5: خلط المتغيرات
int apples = 5;
int oranges = 3;
int totalFruits = apples + oranges; // totalFruits = 8
string message = "لديك " + totalFruits + " فاكهة!";
// message = "لديك 8 فاكهة!"

مهم! أسماء المتغيرات تختارها بنفسك، لكن وفقًا للقواعد: بدون مسافات، ابدأ بحرف، استخدم فقط الحروف اللاتينية. من الأفضل تسميتها بشكل واضح: score، playerName، وليس x أو a1.

مقارنة مع Python

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

// C#: نحدد النوع بدقة
int number = 10;
string text = "مرحبًا";
# Python: النوع يُحدد تلقائيًا
number = 10  # Python فهم بنفسه أنه int
text = "مرحبًا"  # وهذا str

الفرق: في C# لا يمكنك كتابة number = "عشرة" إذا كنت قد أعلنت int number — سيكون هناك خطأ. في Python يمكنك، لكنك ستتشوش لاحقًا. C# مثل معلم صارم: يطلب النظام. Python مثل صديق: "لا بأس، هذا سيعمل". للمبتدئين، يساعدهم C# على تجنب الأخطاء السخيفة.

الأخطاء النموذجية للمبتدئين

  • نسيان الفاصلة المنقوطة — C# بدونها لا يفهم أين تنتهي التعليمات. خطأ: int x = 5 (نسيت ;).
  • الخلط بين علامات الاقتباس — للنص تحتاج إلى علامات مزدوجة " "، وليست مفردة ' ' (المفردة تستخدم لحرف واحد).
  • استخدام حروف روسية في الاسم — C# يحب فقط الحروف الإنجليزية: int возраст = 12; — خطأ! اكتب int age = 12;
  • جمع رقم ونص — 5 + "تفاح" — C# لا يعرف ماذا يفعل. أولاً حول الرقم إلى نص: 5.ToString() + "تفاح".
  • العدد العشري بفاصلة — في C# الجزء العشري يُفصل بنقطة: double pi = 3.14; (وليس 3,14).

الخلاصة

المتغيرات وأنواع البيانات هي أساس أي برنامج. لقد تعلمت:

  • تخزين الأرقام (int, double)، النصوص (string) والصواب/الخطأ (bool).
  • تعريف المتغيرات في C# وPython.
  • تجنب الأخطاء الشائعة.

الآن يمكنك كتابة برنامج يحسب مصروف جيبك أو يرحب بصديق باسمه. جرب بنفسك: أنشئ متغيرًا string myName = "اسمك"; واطبع Console.WriteLine("مرحبًا, " + myName); — هذه هي خطوتك الأولى في عالم البرمجة!

```