[C# 문법] List<T> 클래스와 람다식 조합
- C#/C# 문법
- 2021. 8. 6. 22:24
참조
- 프랙티컬 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
'C# > C# 문법' 카테고리의 다른 글
[C# 문법] C# Enum Description 사용 하기 (0) | 2021.08.13 |
---|---|
[C# 문법] C# Linq 지연실행 (0) | 2021.08.10 |
[C# 문법] C# Linq Zip 메서드 (0) | 2021.08.04 |
[C# 문법] C# 디렉토리(Directory) 년\월\일 디렉토리 구조 삭제하기 (0) | 2021.08.03 |
[C# 문법] C# 월별, 일별 Directory 삭제하기 (0) | 2021.07.29 |
이 글을 공유하기