[c#] C # / Linq : IEnumerable의 각 요소에 매핑 함수를 적용 하시겠습니까?

IEnumerable의 각 요소를 매핑 함수 (Linq 호환 방식)를 사용하여 다른 것으로 변환하는 방법을 찾고 있었지만 아무것도 찾지 못했습니다.

(매우 간단한) 예의 경우 다음과 같이 할 수 있어야합니다.

IEnumerable<int> integers = new List<int>() { 1, 2, 3, 4, 5 };
IEnumerable<string> strings = integers.Transform(i => i.ToString());

하지만 아무것도 찾지 못했습니다. 즉,이를 수행하는 확장 메서드를 작성하는 것은 매우 간단합니다 (기본적으로 필요한 것은 소스 열거자를 새 클래스로 래핑 한 다음 호출을 위임하기위한 상용구 코드를 작성하는 것입니다). 이것은 상당히 기본적인 작업이고, 직접 작성하는 것은 바퀴를 재발 명하는 것과 같은 느낌입니다. 내가 사용해야하는 내장 된 방법이있을 수 있다는 느낌을 떨칠 수 없으며, 너무 눈이 멀어서 볼 수 없었습니다. 그것.

그래서 … Linq에 내가 위에서 설명한 것을 할 수있는 것이 있습니까?



답변

Select()확장 방법을 사용할 수 있습니다 .

IEnumerable<int> integers = new List<int>() { 1, 2, 3, 4, 5 };
IEnumerable<string> strings = integers.Select(i => i.ToString());

또는 LINQ 구문에서 :

IEnumerable<int> integers = new List<int>() { 1, 2, 3, 4, 5 };

var strings = from i in integers
              select i.ToString();


답변

Select입력 시퀀스를 변환 / 투영하는 데 사용할 수있는 것을 찾고 있습니다.

IEnumerable<string> strings = integers.Select(i => i.ToString());


답변