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

เมธอด All() ใน C#: ตรวจสอบเงื่อนไขของทุกองค์ประกอบ

เมธอด All() เป็น Extension Method ใน namespace System.Linq ใช้เพื่อตรวจสอบว่า ทุกองค์ประกอบ ในลำดับตรงตามเงื่อนไขที่กำหนดหรือไม่ คืนค่า true หากทุกตัวตรงเงื่อนไข มิฉะนั้นคืน false

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

bool result = sequence.All(element => condition);

ตัวอย่างการใช้งาน

ตรวจสอบว่าทุกค่าในอาร์เรย์มากกว่าหรือเท่ากับ 2 หรือไม่:

int[] arr = { 6, 7, 15, 40, 55 };
bool allGreaterOrEqual = arr.All(x => x >= 2); // คืนค่า true

โค้ดตัวอย่างสมบูรณ์

using System;
using System.Linq;

class Program
{
    static void Main()
    {
        int[] arr = { 6, 7, 15, 40, 55 };
        
        // ตรวจสอบว่าทุกค่า >= 2
        bool result = arr.All(element => element >= 2);
        
        Console.WriteLine($"ผลลัพธ์: {result}"); // True
        
        // ตัวอย่างเพิ่มเติม: ตรวจสอบว่าทุกค่า > 10
        bool result2 = arr.All(x => x > 10);
        Console.WriteLine($"ทุกค่า > 10: {result2}"); // False (เพราะ 6, 7 ไม่ผ่าน)
    }
}

ผลลัพธ์

ผลลัพธ์: True
ทุกค่า > 10: False

ความแตกต่างระหว่าง All() และ Any()

เมธอดคืนค่า true เมื่อ
All()ทุกองค์ประกอบตรงเงื่อนไข
Any()มีอย่างน้อย 1 องค์ประกอบตรงเงื่อนไข

หมายเหตุ

  • หากลำดับว่างเปล่า All() จะคืนค่า true (Vacuous truth)
  • การทำงานจะหยุดทันทีเมื่อพบองค์ประกอบที่ไม่ผ่านเงื่อนไข (Short-circuit evaluation)