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

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

SkipWhile() bỏ qua các phần tử từ đầu chuỗi miễn là điều kiện đúng, trả về các phần tử còn lại. Khác với Where(), nó dừng bỏ qua ngay khi gặp phần tử đầu tiên không thỏa mãn.

Ví dụ minh họa

Mảng điểm:

int[] marks = { 45, 88, 55, 90, 95, 85 };

Sắp xếp giảm dần, bỏ qua các điểm >= 60:

IEnumerable<int> selMarks = marks.AsQueryable()
    .OrderByDescending(s => s)
    .SkipWhile(s => s >= 60);

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, 55, 90, 95, 85 };
        IEnumerable<int> selMarks = marks.AsQueryable()
            .OrderByDescending(s => s)
            .SkipWhile(s => s >= 60);

        Console.WriteLine("Đã bỏ qua điểm > 60...");
        foreach (int res in selMarks)
            Console.WriteLine(res);
    }
}

Kết quả đầu ra

Đã bỏ qua điểm > 60...
55
45

Giải thích: Sau sắp xếp: 95, 90, 88, 85, 55, 45. Bỏ qua 4 phần tử đầu (>=60), giữ lại 55 và 45.