#️⃣ مرجع C# بالعربي
كل كلمة مفتاحية ونوع ودالة قياسية في C# بالعربي: ماذا تفعل، صياغتها، مثال يوضّحها، وأشهر الأخطاء — لغة مُترجَمة فلا يوجد تشغيل حي في المتصفح. حاليًا 12 عنصر — والقائمة تكبر.
أساسيات اللغة
var
الاستنتاج التلقائي للنوع (var)
var تجعل المترجم يستنتج نوع المتغيّر المحلّي من قيمته الابتدائية بدل كتابة النوع صراحة.
nameof
تعبير nameof
nameof يُرجع اسم متغيّر أو نوع أو عضو كنص، محسوبًا وقت الترجمة بدل كتابته يدويًا كسلسلة حرفية.
using
تصريح using وجملة using
using له استخدامان مختلفان: توجيه using لاستيراد namespace في أعلى الملف، وجملة/تصريح using للتخلّص التلقائي من كائن يطبّق IDisposable.
التحكّم بالتدفق
switch (تعبير)
تعبير switch
تعبير switch يحسب قيمة واحدة عبر مطابقة أنماط — بديل أقصر لجملة switch التقليدية عندما تريد قيمة لا تنفيذ أوامر.
?.
العامل الشرطي الفارغ (?.)
?. يصل لعضو الكائن فقط إن لم يكن null، ويُرجع null تلقائيًا بدل رمي NullReferenceException.
?? و ??=
عاملا الدمج الفارغ (?? و ??=)
?? يُرجع القيمة اليسرى إن لم تكن null وإلا يقيّم اليمنى، و ??= يسند القيمة فقط إذا كان المتغيّر null حاليًا.
معالجة الاستثناءات
try / catch / finally
كتلة try/catch/finally
try تحيط بالكود القابل للفشل، catch تلتقط نوعًا محدّدًا من الاستثناءات وتتعامل معه، وfinally تُنفَّذ دائمًا لتنظيف الموارد.
ArgumentNullException.ThrowIfNull
التحقق السريع من null بـ ThrowIfNull
دالة مساعدة ثابتة (منذ .NET 6) ترمي ArgumentNullException تلقائيًا إن كانت الوسيطة null، مع اكتشاف اسمها بلا كتابته يدويًا.
البرمجة الكائنية
record
النوع القياسي record
record معدِّل يُضاف لـ class أو struct يمنحك مساواة قيمة وToString جاهزًا ونسخًا غير مدمّر تلقائيًا — مثالي لأنواع تخزّن بيانات بشكل أساسي.
struct
الهيكل struct
struct نوع قيمي: يُنسخ بالكامل عند التمرير أو الإسناد بدل مشاركة نفس المرجع كما في class.
enum
التعداد enum
enum يعرّف مجموعة ثابتة من القيم المسمّاة مدعومة برقم صحيح، بدل استخدام أرقام سحرية غير مفهومة في الكود.
المجموعات (Collections)
🎓 تريد التعلم بالترتيب بدل المرجع السريع؟ ابدأ من مسار CSHARP الكامل بالعربي.