본문 바로가기
코딩테스트 준비/자료구조 & 알고리즘

C# - 문자열로 이루어진 리스트 요소들을 정수로 바꾸는법 +) 지연 평가(Lazy Evaluation)

by 코딩하는 돼징 2023. 9. 1.
반응형

문자열로 이루어진 리스트 요소들을 정수로 바꾸는법을 알아보자

Select<TSource, TResult>

컬렉션 내의 요소를 새로운 형식으로 변환하고 그 결과를 새로운 컬렉션으로 반환하는 기능을 제공

public static IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, TResult> selector);

매개변수

source : 데이터를 가지고 있는 원본 컬렉션

selector : 변환 작업을 수행하는 함수 또는 람다 표현식


코드 예시

List<string> numbers = new List<string> { "1", "2", "3", "4", "5" };
var intNumbers = numbers.Select(int.Parse).ToList();

ToList을 해주어야하는 이유

Select의 결과를 ToList로 변환하면 문자열을 정수로 변환한 값을 가지는 리스트를 얻을 수 있다. 만약 그냥 LINQ 쿼리를 사용하면 지연 평가로 인해 실제 변환 작업이 수행되지 않을 수 있다. 그러므로 결과를 리스트로 만들어주는 것이 좋다.

 

지연 평가(Lazy Evaluation)란?

데이터를 처리하는 연산이 실제로 필요한 시점까지 실행을 미루는 것을 의미한다. 이것이 필요한 이유는 효율적인 데이터 처리를 위해서이다. 한번에 모두 처리하는 것이 아니라 필요한 데이터만 처리하여 메모리와 연산자원을 절약할 수 있다. 또한 데이터가 변경되더라도 최종 결과를 요청하는 시점까지 변경사항을 반영하지 않아도 된다. 결과적으로 데이터가 실제로 필요한 시점까지 연산이 수행되지 않을 수도 있음을 말한다.

 

반응형

댓글