تخطَّ إلى المحتوى

مقدمة في C#‎: لغة Microsoft وألعاب Unity

الدرس 1 من 11 · C#

هل تحلم بصنع لعبة فيديو خاصة بك؟ أو ببرنامج يعمل على ويندوز؟ لغة C#‎ تفتح لك البابين معاً. في هذا الدرس ستتعرف على هذه اللغة من Microsoft، وعلى المنصة التي تعمل عليها، وستكتب أول برنامج بها.

C#‎ (تُنطق «سي شارب») لغة برمجة من شركة Microsoft، صممها فريق بقيادة أندرس هيلزبرغ (Anders Hejlsberg) وظهرت عام 2000. وهي لغة كائنية حديثة، تجمع بين قوة C++‎ وسهولة Java.

والاسم مأخوذ من الموسيقى: علامة الدييز (♯) في النوتة الموسيقية تعني «ارفع النغمة نصف درجة». فـ C#‎ تعني «C بنغمة أعلى».

  • ألعاب Unity: Unity من أشهر محركات الألعاب في العالم، وتُكتب برمجة الألعاب فيه بلغة C#‎. آلاف الألعاب على الهواتف والحواسيب والمنصات مصنوعة به.
  • برامج ويندوز: تطبيقات سطح المكتب بواجهات رسومية.
  • مواقع الويب: عبر إطار ASP.NET Core لبناء مواقع وخدمات قوية.
  • تطبيقات الموبايل: عبر أداة .NET MAUI لبناء تطبيقات لأندرويد و iOS.
  • الأنظمة الكبيرة: كثير من البنوك والشركات تعتمد عليها في أنظمتها.

C#‎ تعمل فوق منصة اسمها .NET (تُنطق «دوت نت»). وهي مجموعة ضخمة من الأدوات والمكتبات الجاهزة، بالإضافة إلى «محرك» يشغّل برامجك.

تخيّل أن C#‎ هي اللغة التي تكتب بها الوصفة، و .NET هي المطبخ المجهز بكل الأدوات والأفران. الوصفة وحدها لا تكفي، تحتاج المطبخ لتنفيذها.

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

في الإصدارات الحديثة من C#‎ يمكنك كتابة برنامج كامل في سطر واحد:

Program.cs
Console.WriteLine("Hello, C#!");
الناتج
Hello, C#!
  • Console: الطرفية (شاشة الأوامر).
  • WriteLine: اكتب سطراً، ثم انتقل لسطر جديد.
  • ;: كل أمر ينتهي بفاصلة منقوطة.

في كثير من المشاريع والكتب ستجد البرنامج مكتوباً بالشكل الكامل، وهو يفعل الشيء نفسه:

Program.cs
using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello, C#!");
}
}
  • using System;: نستخدم مكتبة System التي فيها Console.
  • class Program: كل كود C#‎ يعيش داخل كلاس، لأنها لغة كائنية.
  • static void Main(): الدالة الرئيسية التي يبدأ منها البرنامج. لاحظ حرف M الكبير.

لا تقلق من كلمات مثل static و class الآن، ستفهمها جيداً في درس الكلاسات. المهم أن تعرف أن البرنامج يبدأ من Main.

string name = "Sara";
int age = 14;
Console.WriteLine($"Name: {name}, Age: {age + 1}");
الناتج
Name: Sara, Age: 15
  • string للنصوص، و int للأعداد الصحيحة. وC#‎ لغة صارمة في الأنواع: إذا أنشأت متغيراً من نوع int فلا يمكنك أن تضع فيه نصاً لاحقاً، والمترجم سينبهك فوراً قبل أن تشغّل البرنامج. هذا يكشف أخطاء كثيرة مبكراً.
  • العلامة $ قبل النص تسمح لك بوضع المتغيرات والعمليات بين { } مباشرة.
  1. نزّل .NET SDK المجاني من موقع Microsoft الرسمي.
  2. افتح الطرفية وأنشئ مشروعاً جديداً:
نافذة طرفيّة
dotnet new console -o HelloApp
cd HelloApp
dotnet run

الأمر الأول ينشئ مشروع برنامج طرفية جاهزاً، والأخير يترجمه ويشغّله.

أنشئ مشروعاً بـ dotnet new console، واكتب في Program.cs برنامجاً يطبع بيانات لعبتك المفضلة:

الناتج
Game: Space Runner
Level: 7
Next level: 8

استخدم متغيراً string لاسم اللعبة، و int للمستوى، و $"..." لطباعة المستوى التالي.

  • كتابة main بحرف صغير: في C#‎ الدالة الرئيسية Main بحرف M كبير.
  • نسيان الفاصلة المنقوطة: تسبب خطأ ; expected.
  • نسيان العلامة $: "Age: {age}" بدون $ ستطبع {age} كما هي.

سؤال

ما محرك الألعاب الشهير الذي يستخدم لغة C#‎؟

سؤال

ما الأمر الذي يطبع سطراً في برنامج C#‎؟

  • C#‎ لغة كائنية حديثة من Microsoft ظهرت عام 2000.
  • تُستخدم في ألعاب Unity وبرامج ويندوز والمواقع وتطبيقات الموبايل.
  • تعمل فوق منصة .NET المجانية متعددة الأنظمة.
  • Console.WriteLine للطباعة، والبرنامج يبدأ من Main أو من أول سطر في الإصدارات الحديثة.
  • dotnet new console ينشئ مشروعاً، و dotnet run يشغّله.