[C# 문법] List<T> 클래스와 람다식 조합

참조

  • 프랙티컬 C#

소개

  • List<T> 클래스에는 델리게이트를 매개변수로 받는 메서드들이 많이 있습니다.
  • 예제를 통해서 List<T> 각 메서드들을 람다식과 함께 표현해 보도록 하겠습니다.

Exists 메서드

  • Exists 메서드는 인수로 지정한 조건에 일치하는 요소가 존재하는지 조사하고, true, false를 반환합니다.
using System;
using System.Collections.Generic;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            var list = new List<string>
            {
                "범범조조",
                "유재석",
                "아이유",
                "정형돈",
                "박명수"
            };

            var result = list.Exists(s => s.ToString().Contains("범범조조"));
            Console.WriteLine($"result : {result}");
        }
    }
}
result : true

Find 메서드

  • Find 메서드는 매개변수로 지정한 조건과 일치하는 요소를 검색하고 처음 발견된 요소를 반환합니다.
using System;
using System.Collections.Generic;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            var list = new List<string>
            {
                "범범조조",
                "유재석",
                "아이유",
                "정형돈",
                "박명수"
            };

            var result = list.Find(s => s.ToString().Contains("범범조조"));

            Console.WriteLine($"result : {result}");
        }
    }
}
result : 범범조조

FindIndex 메서드

  • FindIndex 메서드는 Find와 비슷합니다.
  • 발견된 요소의 인덱스를 반환합니다.
using System;
using System.Collections.Generic;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            var list = new List<string>
            {
                "범범조조",
                "유재석",
                "아이유",
                "정형돈",
                "박명수"
            };

            var result = list.FindIndex(s => s.ToString().Contains("범범조조"));

            Console.WriteLine($"result : {result}");
        }
    }
}
result : 0

FindAll 메서드

  • FindAll 메서드는 매개변수로 지정한 조건과 일치하는 모든 요소를 찾습니다.
using System;
using System.Collections.Generic;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            var list = new List<string>
            {
                "범범조조",
                "유재석",
                "안녕하세요 ㅋㅋㅋㅋ",
                "아이유",
                "정형돈",
                "박명수"
            };

            var result = list.FindAll(s => s.Length > 7);

            foreach (var item in result)
            {
                Console.WriteLine($"result : {item}");
            }
        }
    }
}
result : 안녕하세요 ㅋㅋㅋㅋ

ForEach 메서드

  • ForEach 메서드는 매개변수로 지정한 처리 내용을 리스트의 각 요소를 대상으로 실행합니다.
using System;
using System.Collections.Generic;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            var list = new List<string>
            {
                "범범조조",
                "유재석",
                "안녕하세요 ㅋㅋㅋㅋ",
                "아이유",
                "정형돈",
                "박명수"
            };

            list.ForEach(name => Console.WriteLine($"result : {name}"));
        }
    }
}
result : 범범조조
result : 유재석
result : 안녕하세요 ㅋㅋㅋㅋ
result : 아이유
result : 정형돈
result : 박명수
  • 이처럼 List<T> 는 람다식과 함께 같이 쓸수 있는 메서들이 많이 있습니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY