All() 메서드와 Any() 메서드로 조건 판단

  • 2 minutes to read

LINQ의 All() 메서드와 Any() 메서드는 배열 또는 컬렉션에서 특정 조건을 모든 요소가 만족하는지 또는 하나라도 만족하는지 판단할 때 사용됩니다.

  • All() 메서드: 모든 요소가 조건을 만족할 때 true를 반환합니다. 하나라도 조건을 만족하지 않으면 false를 반환합니다.
  • Any() 메서드: 하나 이상의 요소가 조건을 만족할 때 true를 반환합니다. 모든 요소가 조건을 만족하지 않으면 false를 반환합니다.

All() 메서드 예제

값이 모두 true인 배열에서 All(c => c == true)를 사용하면 true가 반환됩니다. 이는 모든 요소가 조건을 만족하기 때문입니다.

코드: LinqAll.cs

bool[] completes = { true, true, true };
bool allTrue = completes.All(c => c == true);
Console.WriteLine(allTrue); // true

반면, 배열의 요소 중 하나라도 조건을 만족하지 않으면 false가 반환됩니다.

Any() 메서드 예제

배열에서 하나 이상의 요소가 조건을 만족하는지 확인하려면 Any() 메서드를 사용합니다. 예를 들어, 배열의 요소 중 하나라도 false인 경우 Any(c => c == false)를 사용하면 true가 반환됩니다.

코드: LinqAny.cs

bool[] completes = { true, false, true };
bool anyFalse = completes.Any(c => c == false);
Console.WriteLine(anyFalse); // true

All() 메서드로 문자열의 모든 문자가 대문자인지 확인

All() 메서드는 문자열의 모든 문자가 대문자인지 확인하는 데 사용할 수 있습니다.

코드: UppercaseChecker.cs

> string input = "HELLO";
> bool allUppercase = input.All(char.IsUpper);
> allUppercase
true

Any() 메서드로 문자열에 숫자가 포함되어 있는지 확인

Any() 메서드를 사용하면 문자열에 숫자가 적어도 하나 포함되어 있는지 확인할 수 있습니다.

코드: ContainsNumber.cs

> string input = "Hello123";
> bool containsNumber = input.Any(char.IsDigit);
> containsNumber
true
VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com