🔷 C#

مقدمة في C#: التاريخ، الميزات، التطبيق في C#

```html

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

تخيل أنك تبني منزلاً من مكعبات LEGO. لديك مكعبات، عجلات، نوافذ — هذه أجزاء. لتجميع سيارة أو قلعة، تقوم بتوصيلها وفقًا للتعليمات. C# هو نفس النوع من المكعبات، لكن لإنشاء البرامج. أنت تأخذ أوامر (مثل المكعبات) وتضعها بالترتيب الصحيح حتى يفهم الكمبيوتر ما يجب فعله.

لماذا هذا مطلوب؟ C# هي واحدة من أشهر اللغات في العالم. يُكتب بها:

  • الألعاب (على سبيل المثال، في Unity — بيئة لإنشاء الألعاب)؛
  • تطبيقات Windows (آلات حاسبة، دفاتر ملاحظات، متصفحات)؛
  • المواقع الإلكترونية (عبر تقنية ASP.NET)؛
  • برامج للروبوتات والأجهزة الذكية.

إذا تعلمت C#، ستتمكن من إنشاء ألعابك وتطبيقاتك الخاصة وحتى كسب المال منها. وهي أيضًا تشبه لغات أخرى (Java, C++)، لذا سيكون من السهل تعلم لغات جديدة لاحقًا.

القواعد النحوية وأمثلة الكود

القواعد النحوية (Syntax) هي القواعد التي يُكتب بها الكود. كما في اللغة العربية: "مرحبًا، كيف حالك؟" — صحيح، أما "مرحبًا كيف حالك" — فبه خطأ. في C# أيضًا قواعدها الخاصة. سنشرحها الآن من خلال الأمثلة.

مثال 1: مرحبًا، أيها العالم!

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

// هذا تعليق. لا يتم تنفيذه، بل يشرح الكود فقط.
// نقوم بإنشاء كلاس (صندوق للكود) باسم Program.
class Program
{
    // الدالة Main — هي نقطة الدخول. يبدأ البرنامج العمل من هنا.
    static void Main()
    {
        // الأمر Console.WriteLine يعرض نصًا في وحدة التحكم.
        Console.WriteLine("Привет, мир!"); // النص بين علامتي اقتباس.
    }
}

الشرح:

  • class Program — ننشئ "صندوقًا" للكود. في C#، يجب أن يكون كل الكود داخل هذه الصناديق.
  • static void Main() — نقول: "هنا يبدأ البرنامج". بدون هذا، لن يفهم الكمبيوتر ما الذي يجب تشغيله.
  • Console.WriteLine — الأمر "اطبع سطرًا". كل ما هو بين الأقواس سيظهر على الشاشة.
  • ; — الفاصلة المنقوطة. في C#، ينتهي كل أمر بهذه العلامة. إذا نسيتها، ستحصل على خطأ.

مثال 2: المتغيرات والرياضيات

المتغير هو صندوق يمكنك تخزين الأرقام أو النصوص أو بيانات أخرى فيه. دعنا نحسب عدد التفاحات التي يملكها بيتيا وفاسيا.

class Program
{
    static void Main()
    {
        // نعلن عن المتغيرات. int هو عدد صحيح.
        int applesPetya = 5;  // بيتيا لديه 5 تفاحات.
        int applesVasya = 3;  // فاسيا لديه 3 تفاحات.
        
        // نجمع الأرقام.
        int totalApples = applesPetya + applesVasya;
        
        // نعرض النتيجة.
        Console.WriteLine("Всего яблок: " + totalApples); // علامة + تربط النص والرقم.
    }
}

الشرح:

  • int — نوع المتغير. يخبرنا أن الصندوق سيحتوي على عدد صحيح (5, -3, 100).
  • = — الإسناد. نضع القيمة في الصندوق.
  • + — الجمع. يمكننا جمع الأرقام أو ربط النصوص (كما في السطر الأخير).

مثال 3: الشروط (if-else)

يمكن للكمبيوتر اتخاذ القرارات. على سبيل المثال، إذا كان لديك 100 روبل، ستشتري بيتزا، وإلا فستشتري شطيرة.

class Program
{
    static void Main()
    {
        int money = 50; // لديك 50 روبل.
        
        // نتحقق من الشرط.
        if (money >= 100) // إذا كان المال أكبر من أو يساوي 100...
        {
            Console.WriteLine("Покупаю пиццу!"); // ...نفذ هذا الكود.
        }
        else // وإلا...
        {
            Console.WriteLine("Покупаю бутерброд."); // ...نفذ هذا.
        }
    }
}

الشرح:

  • if — "إذا". نكتب الشرط بين الأقواس (مثل money >= 100).
  • else — "وإلا". يتم تنفيذه إذا كان الشرط خاطئًا.
  • >= — "أكبر من أو يساوي". يوجد أيضًا > (أكبر من)، < (أصغر من)، == (يساوي).

مثال 4: الحلقات التكرارية (for)

الحلقة التكرارية هي عندما يتكرر الأمر عدة مرات. على سبيل المثال، تريد أن تصرخ "يا هلا!" 5 مرات.

class Program
{
    static void Main()
    {
        // حلقة for: (البداية; الشرط; الخطوة)
        for (int i = 0; i < 5; i++) // i تتغير من 0 إلى 4 (إجمالي 5 مرات).
        {
            Console.WriteLine("Ура!"); // هذا السطر سيتم تنفيذه 5 مرات.
        }
    }
}

الشرح:

  • int i = 0 — ننشئ عدادًا ونضبطه على 0.
  • i < 5 — طالما أن العداد أقل من 5، ننفذ الكود.
  • i++ — نزيد العداد بمقدار 1 بعد كل خطوة.

مثال 5: المصفوفات

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

class Program
{
    static void Main()
    {
        // ننشئ مصفوفة من 5 أرقام.
        int[] grades = new int[5]; // [5] — حجم المصفوفة.
        
        // نملأ المصفوفة.
        grades[0] = 4; // الدرجة الأولى (الفهرس 0).
        grades[1] = 5; // الدرجة الثانية (الفهرس 1).
        grades[2] = 3;
        grades[3] = 4;
        grades[4] = 5;
        
        // نحسب المتوسط.
        int sum = grades[0] + grades[1] + grades[2] + grades[3] + grades[4];
        int average = sum / 5; // نقسم المجموع على العدد.
        
        Console.WriteLine("Средняя оценка: " + average);
    }
}

الشرح:

  • int[] — مصفوفة من الأعداد الصحيحة.
  • new int[5] — نخصص مساحة لـ 5 أرقام.
  • grades[0] — نصل إلى العنصر الأول. يبدأ الترقيم من 0!

مقارنة مع Python

Python هي لغة شائعة أخرى. إنها أبسط للمبتدئين، لكن C# توفر

```