LINQ Aggregate Operators Overview

LINQ Aggregate Operators


مشغّلات التجميع (Aggregate Operators) في LINQ تُستخدم لتنفيذ عمليات رياضية أو إحصائية على مجموعة من البيانات (sequence)، والناتج بيكون قيمة واحدة.



🛠️ أشهر دوال التجميع:

  • Count() – لحساب عدد العناصر
  • Sum() – لحساب مجموع القيم
  • Min() – للحصول على أقل قيمة
  • Max() – للحصول على أكبر قيمة
  • Average() – لحساب المتوسط
  • Aggregate() – لتطبيق عملية مخصصة (زي الضرب أو تكوين جملة)


✅ مثال شامل:


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

Console.WriteLine("Count: " + numbers.Count());
Console.WriteLine("Sum: " + numbers.Sum());
Console.WriteLine("Min: " + numbers.Min());
Console.WriteLine("Max: " + numbers.Max());
Console.WriteLine("Average: " + numbers.Average());
Console.WriteLine("Aggregate (Product): " + numbers.Aggregate((a, b) => a * b));


✅ مثال على Aggregate لتكوين جملة:


string[] words = { "I", "love", "LINQ" };

var sentence = words.Aggregate((a, b) => a + " " + b);

Console.WriteLine(sentence); // I love LINQ


📌 طريقة عمل Aggregate:

  • بتبدأ من أول عنصرين وتطبّق العملية عليهم.
  • بعد كده تستخدم الناتج وتطبّقه على العنصر اللي بعده.
  • وتستمر لحد نهاية المجموعة.


💡 ملاحظات:

  • الدوال دي ما بتغيرش البيانات الأصلية.
  • Aggregate() ممتاز لما تحتاج تخصيص زي الضرب، أو تكوين نصوص، أو أي عملية متكررة مش جاهزة.


تعليقات

المشاركات الشائعة من هذه المدونة

C# - Arrays

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

Entity Framework - مقدمة عن Entity Framework