본문 바로가기

C#/람다식

List<T> 클래스와 람다식의 조합

Exists 메서드

인수로 지정한 조건에 일치하는 요소가 존재하는지를 조사하고 true나 false를 반환한다.

var exists = list.Exists(s=>s[0] == 'E');

 

Find 메서드

인수로 지정한 조건과 일치하는 요소를 검색하고 처음 발견된 요소를 반환.

var name = list.Find(s=>s.Length == 5);

 

FindIndex 메서드

발견된 요소의 인덱스를 반환.

int index = list.FindIndex(s=>s == "Seoul");

 

FindAll 메서드

인수로 지정한 조건과 일치하는 모든 요소를 찾는다.

var names = list.FindAll(s=>s.Length <= 6);

foreach(var s in names)

    Console.WriteLine(s);

 

RemoveAll 메서드

인수로 지정한 조건과 일치하는 요소를 리스트에서 삭제한다.

반환값은 삭제한 요소의 개수.

var removedCount = list.RemoveAll(s=>s.Contains("eo"));

 

ForEach 메서드

인수로 지정한 처리 내용을 리스트의 각 요소를 대상으로 실행.

이제까지 살펴본 예는 Predicate<T> 델리게이트를 인수로 받는 메서드였지만 ForEach 메서드는 Action<T> 델리게이트를 인수로 받아들인다.

Action<T> 델리게이트반환값이 void이며 한 개의 인수를 받는 메서드를 나타낸다.

list.ForEach(s=>Console.WriteLine(s));

 

ConvertAll 메서드

리스트 안에 있는 요소를 다른 형으로 변환된 요소가 저장된 리스트를 반환한다.

메서드를 실행한 List 자체는 변화하지 않는다.

var lowerList = list.ConvertAll(s=>s.ToLower());

 

 

 

'C# > 람다식' 카테고리의 다른 글

람다식의 기초  (0) 2021.05.20