C#의 Any() 확장 메서드는 System.Linq 네임스페이스에 포함되어 있으며, 배열이나 리스트 같은 컬렉션의 요소 중 하나라도 지정한 조건을 만족하는지 손쉽게 확인할 수 있습니다.
Any() 메서드란?
Any()는 람다 식을 인자로 받아, 시퀀스 내부에서 해당 조건을 충족하는 요소가 최소 한 개라도 존재하면 true를, 하나도 없으면 false를 반환합니다. 조건 없이 호출하면 단순히 컬렉션이 비어 있는지만 검사할 수도 있어 상황에 따라 다양하게 활용됩니다.
예제 준비
먼저 다음과 같이 요소를 담은 정수형 배열을 선언합니다.
int[] arr = { 6, 7, 15, 40, 55 };이어서 Any() 메서드를 사용해 배열의 요소 중 20 이상인 값이 하나라도 존재하는지 확인해 보겠습니다.
arr.Any(element => element >= 20);
전체 소스 코드
using System;
using System.Linq;
class Program {
static void Main() {
int[] arr = { 6, 7, 15, 40, 55 };
bool res = arr.Any(element => element >= 20);
Console.WriteLine(res);
}
}실행 결과
True
정리
위 예제에서 배열에는 40과 55라는 20 이상의 값이 존재하기 때문에 결과가 True로 출력됩니다. 이처럼 Any()를 사용하면 foreach 같은 반복문을 직접 작성하지 않고도 람다 식 한 줄로 조건 검사를 처리할 수 있습니다. 코드가 간결해질 뿐만 아니라 가독성도 크게 향상되기 때문에, LINQ를 활용한 실무 개발에서 가장 자주 쓰이는 확장 메서드 중 하나입니다.