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) لو حابب.
- الدالة مرنة ومفيدة في التلاعب بالسلاسل أو العمليات الحسابية المركبة.
تعليقات
إرسال تعليق