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

Kiểm tra tất cả phần tử List lớn hơn giá trị cho trước C#

Kiểm tra tất cả phần tử trong mảng/List có lớn hơn giá trị ngưỡng: dùng All (LINQ) hoặc vòng lặp.

Ví dụ minh họa

using System;
using System.Linq;

class Program
{
    static void Main()
    {
        int[] arr = { 55, 100, 87, 45 };
        int threshold = 80;
        
        Console.WriteLine($"Mảng: [{string.Join(", ", arr)}]");
        Console.WriteLine($"Ngưỡng: {threshold}");
        
        // Cách 1: LINQ All (ngắn gọn, readable)
        bool allGreater = arr.All(x => x > threshold);
        Console.WriteLine($"Tất cả > {threshold}? {allGreater}");
        
        // Cách 2: Tìm phần tử KHÔNG thỏa mãn (để hiển thị)
        var notGreater = arr.Where(x => x <= threshold).ToList();
        if (notGreater.Any())
        {
            Console.WriteLine($"Các phần tử ≤ {threshold}: {string.Join(", ", notGreater)}");
        }
        
        // Cách 3: Vòng lặp truyền thống
        bool allGreaterLoop = true;
        foreach (int x in arr)
        {
            if (x <= threshold)
            {
                allGreaterLoop = false;
                break; // Thoát sớm khi tìm thấy counter-example
            }
        }
        Console.WriteLine($"Vòng lặp: {allGreaterLoop}");
    }
}

Kết quả đầu ra

Mảng: [55, 100, 87, 45]
Ngưỡng: 80
Tất cả > 80? False
Các phần tử ≤ 80: 55, 45
Vòng lặp: False

Lưu ý: Code gốc in ra các phần tử lớn hơn ngưỡng, nhưng tiêu đề bài viết là "kiểm tra tất cả phần tử lớn hơn". Logic đúng: dùng All(x => x > threshold) trả về true/false. Code gốc in ngược lại điều kiện.