LINQ Sum Method

LINQ Sum Method


دالة Sum() في LINQ تُستخدم لحساب مجموع القيم الرقمية داخل مجموعة زي List أو Array أو أي IEnumerable.
وهي واحدة من دوال التجميع (Aggregation) في LINQ.



✅ مثال 1: جمع عناصر قائمة أعداد


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

var total = numbers.Sum();

Console.WriteLine("Sum: " + total); // Sum: 100


✅ مثال 2: جمع بعد تصفية العناصر


var sumEven = numbers.Where(n => n % 2 == 0).Sum();

Console.WriteLine("Sum of Even Numbers: " + sumEven); // Sum of Even Numbers: 100


🧩 مثال 3: جمع خصائص من كائنات (Objects)


public class Student
{
    public int ID { get; set; }
    public string Name { get; set; }
    public int Marks { get; set; }
}

List<Student> studentList = new List<Student>()
{
    new Student() { ID = 1, Name = "Ahmed", Marks = 80 },
    new Student() { ID = 2, Name = "Sara", Marks = 90 },
    new Student() { ID = 3, Name = "Mahmoud", Marks = 70 }
};

var totalMarks = studentList.Sum(s => s.Marks);

Console.WriteLine("Total Marks: " + totalMarks); // Total Marks: 240


✅ التعامل مع Nullable Values


public class Student
{
    public int ID { get; set; }
    public string Name { get; set; }
    public int? Marks { get; set; }
}

var total = studentList.Sum(s => s.Marks ?? 0);

📌 استخدمنا ?? 0 عشان نستبدل القيم null بـ 0 أثناء الجمع.



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

  • Sum() بترجع 0 لو القائمة فاضية.
  • ممكن تستخدمها مع الأعداد (int, long, float, double, decimal).
  • ممكن تكتبها بـ Method Syntax أو Query Syntax.


تعليقات

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

C# - Arrays

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

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