First메서드
- 조건에 맞는 첫 번째 요소를 반환합니다.
- 첫 번째 요소를 발견 한 시점에 값을 반환합니다.
- 그 뒤에 요소들은 확인하지 않습니다.
Single메서드
- 조건에 맞는 값이 하나만 있는 것을 확인한 다음 그 값을 반환합니다.
- 조건에 맞는 값을 발견 한 후에도 나머지 요소들도 확인합니다.
- 모든 요소들을 확인 합니다.
First(), Single() 사용예제1
class Program
{
static void Main(string[] args)
{
var enumObj = Enumerable.Range(0, 1000000000);
var start1 = DateTime.Now;
var a = enumObj.First(x => x == 1);
Console.WriteLine($"First() TEST :{DateTime.Now - start1}");
var start2 = DateTime.Now;
var b = enumObj.Single(x => x == 1);
Console.WriteLine($"Single() TEST :{DateTime.Now - start2}");
}
}
실행 결과
- Single()처리 속도가 First()처리 속도보다 훨씬 느리다.
Single()의 장점
- First()에 비해 안정성이 높다.
- 데이터가 하나밖에 없다는 것을 검증할 수 있다.
Single()의 단점
- First()에 비해 속도가 느리다.
'프로그래밍 > (도서)C#코딩의기술-실전' 카테고리의 다른 글
[C#] 코딩의기술(실전편) - 3.4 배열 VS IEnumerable<T> (0) | 2022.03.31 |
---|---|
[C#] 코딩의기술(실전편) - 3.3 OrderBy VS Sort (0) | 2022.03.31 |
[C#] 코딩의기술(실전편) - 3.1 First와 FirstOrDefault (0) | 2022.03.31 |
[C#] 코딩의기술(실전편) - 2.14 테스트와 목(mock) (0) | 2022.03.31 |
[C#] 코딩의기술(실전편) - 2.11 TryParse에서 결과를 보지 않는 경우 (0) | 2022.03.31 |