ภาพรวม
เมธอด Any() ใน LINQ ตรวจสอบว่า มีองค์ประกอบอย่างน้อยหนึ่งรายการ ที่ตรงตามเงื่อนไขหรือไม่ คืนค่า bool
รูปแบบการใช้งาน
int[] arr = {5, 7, 10, 12, 15, 18, 20};
bool hasGreaterThan10 = arr.AsQueryable().Any(val => val > 10); // true
ตัวอย่างโค้ดเต็ม
using System;
using System.Linq;
class Demo
{
static void Main()
{
int[] arr = {5, 7, 10, 12, 15, 18, 20};
bool res = arr.AsQueryable().Any(val => val > 10);
Console.WriteLine(res); // True
}
}
ผลลัพธ์
True
Any() แบบไม่มีเงื่อนไข
bool hasElements = arr.AsQueryable().Any(); // true หากมีสมาชิกอย่างน้อย 1 ตัว
ความแตกต่าง Any vs All
| เมธอด | คืน true เมื่อ | คืน false เมื่อ |
|---|---|---|
Any(predicate) | มีอย่างน้อย 1 ตัวตรงเงื่อนไข | ไม่มีตัวไหนตรง หรือลำดับว่าง |
All(predicate) | ทุกตัวตรงเงื่อนไข (หรือลำดับว่าง) | มีอย่างน้อย 1 ตัวไม่ตรง |
หมายเหตุในตัวอย่างต้นฉบับ
โค้ดต้นฉบับมีข้อผิดพลาด: ใช้ All(val => val > 5) แต่คอมเมนต์กล่าวถึง "greater than 10" - ได้แก้ไขในตัวอย่างข้างต้นแล้ว