Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Phương thức TakeLast() trong C# Queryable

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).