Giới thiệu
Phương thức tĩnh Array.Exists<T>(T[] array, Predicate<T> match) kiểm tra xem có ít nhất một phần tử trong mảng thỏa mãn điều kiện predicate hay không. Trả về true/false.
Ví dụ cơ bản
string[] strArray = { "keyboard", "screen", "mouse", "charger" };
bool hasKeyboard = Array.Exists(strArray, ele => ele == "keyboard"); // true
bool hasHarddisk = Array.Exists(strArray, ele => ele == "harddisk"); // false
Ví dụ hoàn chỉnh
using System;
public class Demo
{
public static void Main()
{
string[] strArray = { "keyboard", "screen", "mouse", "charger" };
bool res1 = Array.Exists(strArray, ele => ele == "harddisk");
Console.WriteLine(res1); // False
bool res2 = Array.Exists(strArray, ele => ele == "keyboard");
Console.WriteLine(res2); // True
}
}
Kết quả
False True
So sánh với LINQ Any()
| Đặc điểm | Array.Exists | LINQ Any() |
|---|---|---|
| Namespace | System | System.Linq |
| Đối tượng | Chỉ mảng T[] | Mọi IEnumerable<T> |
| Cú pháp | Predicate delegate | Lambda expression |
| Hiệu suất | Hơi nhanh | Tương đương |
Ví dụ Any()
using System.Linq; bool hasKeyboard = strArray.Any(e => e == "keyboard"); bool hasLongName = strArray.Any(e => e.Length > 10);
Lưu ý
- Short-circuit: dừng ngay khi tìm thấy match đầu tiên.
- Ném
ArgumentNullExceptionnếu array hoặc predicate null. - Cho mảng rỗng: luôn trả về false.