SkipLast() (từ .NET 6+) bỏ qua N phần tử cuối cùng của chuỗi, trả về các phần tử còn lại. Thường dùng sau khi sắp xếp để loại bỏ các giá trị cực đại.
Ví dụ minh họa
Mảng điểm:
int[] marks = { 45, 88, 50, 90, 95, 85 };
Sắp xếp giảm dần, bỏ qua 2 phần tử cuối (điểm thấp nhất):
IEnumerable<int> selMarks = marks.AsQueryable()
.OrderByDescending(s => s)
.SkipLast(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[] marks = { 45, 88, 50, 90, 95, 85 };
IEnumerable<int> selMarks = marks.AsQueryable()
.OrderByDescending(s => s)
.SkipLast(2);
Console.WriteLine("Đã bỏ qua 2 học sinh cuối...");
foreach (int res in selMarks)
Console.WriteLine(res);
}
}
Kết quả đầu ra
Đã bỏ qua 2 học sinh cuối... 95 90 88 85
Lưu ý: Cần .NET 6+. Phiên bản cũ dùng Take(count - n) sau khi biết số lượng phần tử.