Phương thức TakeLast() (từ .NET 6+) trả về số lượng phần tử được chỉ định từ cuối chuỗi. Thường kết hợp với OrderBy() để lấy các giá trị lớn nhất/nhỏ nhất.
Ví dụ minh họa
Mảng số trang sách:
int[] pages = { 492, 290, 129, 602, 152 };
Sắp xếp tăng dần và lấy 2 phần tử cuối (2 sách dày nhất):
IEnumerable<int> last = pages.AsQueryable()
.OrderBy(s => s)
.TakeLast(2);
Mã nguồn hoàn chỉnh
using System;
using System.Linq;
using System.Collections.Generic;
public class Demo
{
public static void Main()
{
int[] pages = { 492, 290, 129, 602, 152 };
IEnumerable<int> last = pages.AsQueryable()
.OrderBy(s => s)
.TakeLast(2);
foreach (int res in last)
Console.WriteLine(res);
}
}
Kết quả đầu ra
492 602
Lưu ý: TakeLast() yêu cầu .NET 6 trở lên. Với phiên bản cũ, dùng Skip(Math.Max(0, count - n)).Take(n).