LINQ Average Method

LINQ Average Method


دالة Average() في LINQ بتُستخدم لحساب المتوسط الحسابي لمجموعة من القيم الرقمية. وبتُعتبر من دوال التجميع (Aggregate).



✅ مثال 1: متوسط أرقام


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

double avg = numbers.Average();
Console.WriteLine("Average: " + avg); // Average: 30


✅ مثال 2: متوسط الأرقام الزوجية فقط


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

double avgEven = numbers.Where(n => n % 2 == 0).Average();
Console.WriteLine("Average of Even Numbers: " + avgEven); // 20


🧩 Average مع الكائنات (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 avgMarks = studentList.Average(s => s.Marks);
Console.WriteLine("Average Marks: " + avgMarks); // 80


✅ باستخدام Query Syntax


var result = (from s in studentList
              select s.Marks).Average();

Console.WriteLine("Average Marks: " + result); // 80


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

  • الدالة Average() بترجع double.
  • لو المجموعة فاضية → بيتم إطلاق Exception.
  • بتشتغل مع الأنواع: int, float, double, decimal.
  • ما بتغيّرش البيانات الأصلية.


تعليقات

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

C# - Arrays

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

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