LINQ Aggregate Method

LINQ Aggregate Method


دالة Aggregate() في LINQ بتُستخدم لما تحب تطبّق عملية حسابية أو تركيبية مخصصة على كل العناصر في مجموعة، بحيث تُرجّع قيمة واحدة ناتجة عن كل التكرارات.



✅ مثال 1: تحويل مجموعة نصوص إلى جملة مفصولة بفواصل


string[] names = { "Mahmoud", "Ahmed", "Sara", "Laila" };

string result = names.Aggregate((a, b) => a + ", " + b);

Console.WriteLine(result); // Mahmoud, Ahmed, Sara, Laila


✅ مثال 2: ضرب الأرقام مع بعض


int[] numbers = { 1, 2, 3, 4, 5 };

int product = numbers.Aggregate((a, b) => a * b);

Console.WriteLine("Product: " + product); // 120


✅ مثال 3: استخدام قيمة ابتدائية (Seed)


int[] numbers = { 1, 2, 3 };

int result = numbers.Aggregate(10, (a, b) => a + b);

Console.WriteLine("Result: " + result); // 16


✅ مثال 4: تركيب جملة بنص ابتدائي


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

string sentence = words.Aggregate("Message:", (a, b) => a + " " + b);

Console.WriteLine(sentence); // Message: I Love LINQ


💡 ملاحظات هامة:

  • Aggregate() بتاخد دالة Lambda فيها متغيرين: القيمة الحالية والنتيجة حتى الآن.
  • ممكن تبدأ بقيمة ابتدائية (Seed) لو حابب.
  • الدالة مرنة ومفيدة في التلاعب بالسلاسل أو العمليات الحسابية المركبة.


تعليقات

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

C# - Arrays

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

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