[C# 문법] C# LINQ Any, All 메서드

소개

안녕하세요. 오늘은 C# 에서 LINQ 에 대해서 알려 드리려고 합니다. 그 중에서도 LINQ에서 지원하는 기본 메서드인 Any, All 메서드에 대해서 알려 드리려고 합니다. 그럼 각 메서드들의 하는 역할이 무엇인지 예제코드를 통해서 보여 드리도록 하겠습니다.

Any 메서드

  • LINQ에서는 Any 메서드를 지원하고 있습니다.
  • Any 메서드는 보통 어떤 조건은 만족하는 문자들이 있는지에 대한 조사를 도와주는 메서드 입니다.
  • 예제를 통해서 어떤 경우에 보통 사용하는지 보여 드리겠습니다.
using System;
using System.Linq;

namespace ConsoleApp7
{
    class Program
    {
        static void Main(string[] args)
        {
            var target = "C# is Programming";

            if (target.Any(x => Char.IsLower(x)))
                Console.WriteLine($"문자열 안에 소문자가 포함 되어 있습니다.");
            else
                Console.WriteLine($"문자열 안에 소문자가 포함되어 있지 않습니다.");
        }
    }
}
문자열 안에 소문자가 포함 되어 있습니다.
  • Any 메서드에 인수로 넘겨 준 람다식의 결과 중에 하나라도 true를 반환하면 Any 메서드는 true를 반환합니다.
  • true를 반환하는 시점에 문자열을 조하사는 작업은 끝납니다.

All 메서드

  • LINQ에서는 All 메서드를 지원하고 있습니다.
  • All 메서드는 모든 문자가 해당 조건을 만족하는지에 대한 여부를 조사할 수 있습니다.
  • 예제를 통해서 어떤 경우에 보통 사용하는지 보여 드리겠습니다.
using System;
using System.Linq;

namespace ConsoleApp7
{
    class Program
    {
        static void Main(string[] args)
        {
            var target = "123456787";

            if (target.All(c => Char.IsDigit(c)))
                Console.WriteLine($"target 은 모두 숫자입니다.");
            else
                Console.WriteLine($"target은 숫자가 아닙니다.");
        }
    }
}
target 은 모두 숫자입니다.
  • 위의 코드에서는 Char 구조체를 통해 IsDigit 라는 정적 메서드를 사용해서 해당 문자열이 숫자인지에 대한 여부를 조사했습니다.
  • 위의 예제에서는 target 문자열 안에 문자는 모두 숫자로 이루어져 있기 떄문에 true가 반환됩니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY