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
. - ما بتغيّرش البيانات الأصلية.
تعليقات
إرسال تعليق