مكتبة C# القياسية (.NET): نظرة شاملة على الإمكانيات

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مكتبة C# القياسية (.NET): نظرة شاملة



مكتبة .NET القياسية (Base Class Library, BCL) هي مجموعة أساسية من الفئات والواجهات وأنواع القيم التي تشكل جزءًا من منصة .NET. توفر للمطورين بلغة C# مكونات جاهزة لحل المهام النمطية: من التعامل مع المجموعات والملفات إلى التفاعل الشبكي والبرمجة غير المتزامنة. في هذه المقالة، سنستعرض بالتفصيل مساحات الأسماء والفئات الرئيسية التي يجب أن يعرفها كل مطور C#.



1. مساحة الاسم System — أساس كل شيء

تحتوي مساحة الاسم الجذرية System على الأنواع الأساسية:

  • أنواع البيانات الأساسية: Object، String، Int32، Double، Boolean وغيرها.
  • الأدوات المساعدة: Console (الإدخال/الإخراج)، Math (الدوال الرياضية)، Random (توليد الأرقام العشوائية).
  • معالجة الأخطاء: Exception ومشتقاته (ArgumentException، NullReferenceException، إلخ).

مثال على الاستخدام:

using System;

class Program{ static void Main() { Console.WriteLine("مرحبًا، .NET!"); double result = Math.Sqrt(144); Console.WriteLine($"الجذر التربيعي لـ 144: {result}"); }}


2. System.Collections — التعامل مع المجموعات

مساحة أسماء لتخزين وإدارة مجموعات الكائنات. تنقسم إلى مجموعات عامة (generic) وغير عامة.

الفئات الرئيسية:

  • List<T> — مصفوفة ديناميكية مع وصول سريع عبر الفهرس.
  • Dictionary<TKey, TValue> — مصفوفة ترابطية (جدول تجزئة).
  • Queue<T> — طابور (FIFO).
  • Stack<T> — مكدس (LIFO).
  • HashSet<T> — مجموعة من العناصر الفريدة.

مثال:

using System.Collections.Generic;

var numbers = new List<int> { 10, 20, 30 };numbers.Add(40);

var lookup = new Dictionary<string, int>{ ["واحد"] = 1, ["اثنان"] = 2};

Console.WriteLine(lookup["اثنان"]); // 2


3. System.Linq — استعلامات اللغة المتكاملة

تتيح LINQ إجراء استعلامات شبيهة بـ SQL على المجموعات وقواعد البيانات و XML. طرق التوسيع الرئيسية:

  • Where() — التصفية.
  • Select() — الإسقاط.
  • OrderBy() — الترتيب.
  • GroupBy() — التجميع.
  • Aggregate() — الدوال التجميعية (Sum, Count, Average).

مثال:

using System.Linq;

int[] scores = { 85, 92, 78, 95, 88 };var highScores = scores .Where(s => s >= 90) .OrderByDescending(s => s) .ToList();

Console.WriteLine(string.Join(", ", highScores)); // 95, 92


4. System.IO — التعامل مع الملفات والتدفقات

مساحة أسماء لإدخال وإخراج البيانات. الفئات الرئيسية:

  • File / FileInfo — إنشاء وقراءة وكتابة الملفات.
  • Directory / DirectoryInfo — التعامل مع الدلائل.
  • StreamReader / StreamWriter — قراءة/كتابة التدفقات النصية.
  • FileStream — التعامل منخفض المستوى مع الملفات.

مثال على الكتابة والقراءة:

using System.IO;

string path = "example.txt";File.WriteAllText(path, "مرحبًا، .NET!");

string content = File.ReadAllText(path);Console.WriteLine(content); // مرحبًا، .NET!


5. System.Threading.Tasks — البرمجة غير المتزامنة

النهج الحديث للتعامل مع عدم التزامن من خلال الكلمات المفتاحية async و await. الفئات الرئيسية

توصيات