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()
ممتاز لما تحتاج تخصيص زي الضرب، أو تكوين نصوص، أو أي عملية متكررة مش جاهزة.
تعليقات
إرسال تعليق