الأنواع العامة في C#
تعلّم كيف تتيح الأنواع العامة إنشاء هياكل تعليمات برمجية آمنة النوع وقابلة لإعادة الاستخدام
الأنواع العامة في C# درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 1 من أصل 5. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 5 دروس في المجموع.
مقدمة إلى الأنواع العامة
الأنواع العامة في C#
مرحبًا بكم في الدرس الأول ضمن "ميزات C# المتقدمة"! ستتعلمون في هذا الدرس الأنواع العامة، وهي ميزة قوية في C# تتيح لكم إنشاء تعليمات برمجية مرنة وقابلة لإعادة الاستخدام. لنبدأ!

ما الأنواع العامة؟
ما الأنواع العامة؟
الأنواع العامة هي ميزة في C# تتيح لكم تعريف الفئات والأساليب وهياكل البيانات باستخدام عنصر نائب لنوع البيانات التي تخزنها أو تستخدمها. وتوفر الأنواع العامة أمان الأنواع وإعادة استخدام التعليمات البرمجية.
مثال: يمكن لقائمة عامة (List<T>) تخزين عناصر من أي نوع مع ضمان أمان الأنواع.
إنشاء فئات عامة
إنشاء فئات عامة
يمكنكم تعريف فئة عامة باستخدام الصيغة <T>، حيث تمثل T معلمة نوع. مثال:
نقطة أساسية: استخدموا الأنواع العامة لإنشاء فئات تعمل مع أي نوع من البيانات مع الحفاظ على أمان الأنواع.
using System;
class GenericBox<T> {
public T Value { get; set; }
public void Display() {
Console.WriteLine("Value: " + Value);
}
}
class Program {
static void Main() {
GenericBox<int> intBox = new GenericBox<int> { Value = 42 };
intBox.Display(); // Outputs: Value: 42
GenericBox<string> stringBox = new GenericBox<string> { Value = "Hello, Generics!" };
stringBox.Display(); // Outputs: Value: Hello, Generics!
}
}
إنشاء أساليب عامة
إنشاء أساليب عامة
يمكنكم تعريف أسلوب عام داخل فئة. مثال:
نصيحة: استخدموا الأساليب العامة للعمليات التي تنطبق على أنواع بيانات متعددة.
using System;
class Program {
static void Main() {
PrintValue(42);
PrintValue("Generics are powerful!");
}
static void PrintValue<T>(T value) {
Console.WriteLine("Value: " + value);
}
}
قيود الأنواع العامة
قيود الأنواع العامة
تقيّد القيود الأنواع التي يمكن استخدامها كمعلمات للنوع. مثال:
where T : struct- يجب أن يكون T من نوع قيمة.where T : class- يجب أن يكون T من نوع مرجعي.where T : new()- يجب أن يحتوي T على مُنشئ بلا معلمات.
مثال:
نقطة أساسية: تجعل القيود الأنواع العامة أكثر مرونة وقابلية للتطبيق في سيناريوهات محددة.
using System;
class Program {
static void Main() {
DisplayDefault<int>();
DisplayDefault<string>();
}
static void DisplayDefault<T>() where T : new() {
T instance = new T();
Console.WriteLine("Created instance of: " + typeof(T));
}
}
المجموعات العامة
المجموعات العامة
توفر C# عدة مجموعات عامة مضمّنة:
- List<T>: تخزن مجموعة من العناصر في مصفوفة ديناميكية.
- Dictionary<TKey, TValue>: يخزن أزواج المفتاح والقيمة لإجراء عمليات بحث سريعة.
- Queue<T>: ينفذ بنية الداخل أولًا يخرج أولًا (FIFO).
مثال: استخدام قائمة عامة:
using System;
using System.Collections.Generic;
class Program {
static void Main() {
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
names.Add("Diana");
foreach (string name in names) {
Console.WriteLine(name);
}
}
}
تحدي تطبيقي
تحدي تطبيقي
أنشئوا فئة عامة Pair<TKey, TValue> تخزن زوجًا من المفتاح والقيمة، وأساليب عامة Swap() تبدّل بين المفتاح والقيمة. مثال:
using System;
class Pair<TKey, TValue> {
public TKey Key { get; set; }
public TValue Value { get; set; }
public void Swap() {
(Key, Value) = ((TKey)(object)Value, (TValue)(object)Key);
}
public void Display() {
Console.WriteLine($"Key: {Key}, Value: {Value}");
}
}
class Program {
static void Main() {
Pair<string, int> pair = new Pair<string, int> { Key = "Age", Value = 30 };
pair.Display();
pair.Swap();
pair.Display();
}
}
أفضل الممارسات لاستخدام الأنواع العامة
أفضل الممارسات لاستخدام الأنواع العامة
إليكم بعض أفضل الممارسات:
- استخدموا الأنواع العامة لإنشاء فئات وأساليب قابلة لإعادة الاستخدام وآمنة من حيث الأنواع.
- طبّقوا القيود عند الحاجة إلى متطلبات محددة للنوع.
- فضّلوا المجموعات العامة على المجموعات غير العامة لتحسين الأداء والأمان.
نصيحة: استخدموا أسماءً واضحة لمعلمات النوع، مثل T للنوع أو TKey وTValue لأزواج المفتاح والقيمة.
أحسنتم!
أحسنتم!
تهانينا! لقد تعلمتم كيفية استخدام الأنواع العامة لإنشاء شيفرة قابلة لإعادة الاستخدام ومرنة في C#. في الدرس التالي، سنستكشف البرمجة غير المتزامنة باستخدام async وawait. فلنواصل كتابة الشيفرة!

الأسئلة الشائعة
هل درس «الأنواع العامة في C#» مجاني؟
نعم — نص درس «الأنواع العامة في C#» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 5 دروس في المجموع.
ماذا ستتعلم في «الأنواع العامة في C#»؟
تعلّم كيف تتيح الأنواع العامة إنشاء هياكل تعليمات برمجية آمنة النوع وقابلة لإعادة الاستخدام تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟
لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 5.
كم من الوقت يستغرق درس «الأنواع العامة في C#»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟
نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الأنواع العامة في C#
- Async وAwait: العمل مع التعليمات البرمجية غير المتزامنة
- فهم مؤشرات الترابط والمهام
- استكشاف المفوضات وLambdas
- فهم Reflection في C#