[C#] LINQ Any, All, Exists

BruteForceA·2023년 8월 2일
1
post-thumbnail

Any 메서드

  • 시퀀스에 요소가 하나라도 있는지 또는 특정 조건에 맞는 요소가 있는지 확인한다.
    즉, 조건에 해당하는 값이 1개라도 존재한다면 true 이다.
        /// 조건에 해당하는 값이 1개라도 존재한다면 true
        public static void AnyRun()
        {
            var arr1 = new int[] { 1, 2, 3, 4, 5 };
            var arr2 = new int[] { 4, 5, 6, 7, 8};

            bool result1 = arr1.Any(l => l == 3);
            Console.WriteLine($"단일 값 비교 : {result1}" );

            bool result2 = arr1.Any(l => arr2.Contains(l));
            Console.WriteLine($"다중 값 비교 : {result1}" );

            // 중복된 값을 찾는방법
            var list = arr2.Where(m => arr1.Any(a1 => a1 == m)).ToList();
            Console.WriteLine($"중복 갯수 : { list.Count }");

            foreach (var i in list)
            {
                Console.Write(i + " ");
            }

            Console.WriteLine("\n");
        }


All 메서드

  • 시퀀스의 모든 요소가 특정 조건에 맞는지 확인한다.
    즉, 전체 값이 조건에 전부 해당한다면 true 이다.
   public static void AllRun()
        {
            var arr1 = new List<int> {1, 2, 3, 4, 5};
            var arr2 = new List<int> {4, 5};
            
            bool result1 = arr1.All(l => l > 3);
            Console.WriteLine($"모두 3 이상의 숫자인가? : {result1}");

            bool result2 = arr2.All(l => arr1.Contains(l));
            Console.WriteLine($"arr2가 arr1의 부분집합인가? : {result2}");

            Console.WriteLine("\n");
        }


참고

2개의 댓글

comment-user-thumbnail
2023년 8월 2일

좋은 정보 얻어갑니다, 감사합니다.

1개의 답글