Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ตรวจสอบว่าทุกสมาชิกใน List ตรงตามเงื่อนไข predicate ใน C#

ภาพรวม

เมธอด List<T>.TrueForAll(Predicate<T>) ตรวจสอบว่า ทุก สมาชิกใน List ตรงตามเงื่อนไขที่กำหนด (delegate predicate) คืน true ถ้าทุกตัวผ่าน, มิฉะนั้น false

ตัวอย่าง 1: มีสมาชิกไม่ผ่านเงื่อนไข

using System;
using System.Collections.Generic;

public class Demo {
    private static bool demo(int i) {
        return ((i % 10) == 0);
    }
    public static void Main(String[] args) {
        List list = new List();
        list.Add(200);
        list.Add(215);
        list.Add(310);
        list.Add(500);
        list.Add(600);

        Console.WriteLine("List elements...");
        foreach (int i in list) {
            Console.WriteLine(i);
        }
        Console.WriteLine(list.TrueForAll(demo));
    }
}

ผลลัพธ์ตัวอย่าง 1

List elements...
200
215
310
500
600
False

ตัวอย่าง 2: ทุกสมาชิกผ่านเงื่อนไข

using System;
using System.Collections.Generic;

public class Demo {
    private static bool demo(int i) {
        return ((i % 10) == 0);
    }
    public static void Main(String[] args) {
        List list = new List();
        list.Add(100);
        list.Add(200);
        list.Add(300);
        list.Add(400);
        list.Add(500);
        list.Add(600);
        list.Add(700);
        list.Add(800);
        list.Add(900);
        list.Add(1000);

        Console.WriteLine("List elements...");
        foreach (int i in list) {
            Console.WriteLine(i);
        }
        Console.WriteLine(list.TrueForAll(demo));
    }
}

ผลลัพธ์ตัวอย่าง 2

List elements...
100
200
300
400
500
600
700
800
900
1000
True

สรุป

  • TrueForAll ใช้ delegate/lambda ตรวจสอบเงื่อนไข
  • หยุดทันทีเมื่อพบสมาชิกที่ไม่ผ่าน (short-circuit)
  • เหมาะสำหรับ validation ข้อมูลใน List