Phương thức Take() trả về số lượng phần tử đầu tiên từ chuỗi. Thường dùng với OrderByDescending() để lấy Top N giá trị lớn nhất.
Ví dụ minh họa
Mảng điểm số:
int[] marks = { 35, 72, 50, 90, 95, 85, 52, 67 };
Lấy top 5 điểm cao nhất:
IEnumerable<int> selMarks = marks.AsQueryable()
.OrderByDescending(s => s)
.Take(5);
Mã nguồn hoàn chỉnh
using System;
using System.Linq;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
int[] marks = { 35, 72, 50, 90, 95, 85, 52, 67 };
IEnumerable<int> selMarks = marks.AsQueryable()
.OrderByDescending(s => s)
.Take(5);
foreach (int res in selMarks)
Console.WriteLine(res);
}
}
Kết quả đầu ra
95 90 85 72 67
Ứng dụng: Phổ biến trong phân trang (pagination), báo cáo Top N, leaderboard.