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

เมธอด TrueForAll() ในอาร์เรย์ C#


ภาพรวม

เมธอดสแตติก Array.TrueForAll<T>() ตรวจสอบว่า ทุกองค์ประกอบในอาร์เรย์ ตรงตามเงื่อนไขที่ระบุ (predicate) หรือไม่ คืนค่า bool

รูปแบบการใช้งาน

int[] val = { 97, 45, 76, 21, 89, 45 };
bool allPositive = Array.TrueForAll(val, x => x > 1); // true

ตัวอย่างโค้ดเต็ม

using System;

public class Demo
{
    public static void Main()
    {
        int[] val = { 97, 45, 76, 21, 89, 45 };
        bool result = Array.TrueForAll(val, res => res > 1);
        Console.WriteLine(result); // True
    }
}

ผลลัพธ์

True

ข้อสังเกต

  • หยุดตรวจสอบทันทีที่พบองค์ประกอบที่ไม่ผ่าน (short-circuit)
  • อาร์เรย์ว่าง คืน true (vacuous truth)
  • เทียบเท่า LINQ: val.All(x => x > 1)
  • มี Array.Exists() สำหรับตรวจสอบ "มีอย่างน้อยหนึ่งตัว"
  • มี Array.FindAll() สำหรับดึงองค์ประกอบที่ผ่านเงื่อนไขทั้งหมด

หมายเหตุ

ตัวอย่างต้นฉบับซ้ำสองครั้ง - ได้รวมเป็นตัวอย่างเดียวพร้อมคำอธิบายเพิ่มเติม