Ngôn ngữ LINQ - Toán tử Average
Toán tử Average trong LINQ
Phương thức mở rộng Average tính giá trị trung bình của các phần tử trong danh sách. Phương thức Average trả về giá trị kiểu decimal, double hoặc float có hỗ trợ kiểu nullable.
Ví dụ sau minh họa phương thức Average trả về giá trị trung bình của tất cả các số nguyên trong danh sách.
IList<int> intList = new List<int>() { 10, 20, 30 };
var avg = intList.Average();
Console.WriteLine("Average: {0}", avg);
Đây là kết quả khi biên dịch và thực thi chương trình:
Average: 20
Bạn có thể chỉ định một thuộc tính kiểu int, decimal, double hoặc float của một lớp dưới dạng biểu thức lambda mà bạn muốn tính giá trị trung bình. Ví dụ sau đây cho thấy phương thức Average trên kiểu phức tạp.
IList<Student> studentList = new List<Student>()
{
new Student() { StudentID = 1, StudentName = "John", Age = 13 },
new Student() { StudentID = 2, StudentName = "Moin", Age = 21 },
new Student() { StudentID = 3, StudentName = "Bill", Age = 18 },
new Student() { StudentID = 4, StudentName = "Ram", Age = 20 },
new Student() { StudentID = 5, StudentName = "Ron", Age = 15 }
};
var avgAge = studentList.Average(s => s.Age);
Console.WriteLine("Average Age of Student: {0}", avgAge);
Đây là kết quả khi biên dịch và thực thi chương trình:
Average Age of Student: 17.4