C# Any() 메서드란?
C#의 Any() 메서드는 시퀀스(컬렉션)에 포함된 요소 중 하나라도 특정 조건을 만족하는지 검사하는 LINQ 확장 메서드입니다.
조건을 만족하는 요소가 하나라도 존재하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
예제 소개
다음과 같은 정수 배열이 있다고 가정해 보겠습니다.
int[] arr = {5, 7, 10, 12, 15, 18, 20};Any() 메서드를 사용하여 이 배열의 요소 중 10보다 큰 값이 하나라도 있는지 확인해 보겠습니다.
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};
// 배열 요소 중 10보다 큰 값이 있는지 확인
bool res = arr.AsQueryable().Any(val => val > 10);
Console.WriteLine(res);
}
}
실행 결과
True
배열에는 12, 15, 18, 20처럼 10보다 큰 요소가 여러 개 존재하므로, Any() 메서드는 True를 반환합니다.
참고 사항
Any()는 조건을 만족하는 첫 번째 요소를 발견하는 즉시 검사를 중단하므로 전체 컬렉션을 끝까지 순회하지 않아 성능 면에서 효율적입니다. 또한 람다 식 없이 매개변수 없이 호출하면 시퀀스에 요소가 하나라도 존재하는지만 빠르게 확인할 수 있습니다.