[c#] Haskell의 map 함수에 해당하는 C #은 무엇입니까?

Haskell의 map 함수에는 두 개의 입력 매개 변수가 있습니다. 첫 번째 매개 변수는 함수이고 두 번째 매개 변수는 목록입니다. map 함수는 입력 매개 변수로 전달 된 함수를 목록의 모든 요소에 적용하고 새 목록을 반환합니다.

이 기능에 해당하는 C #이 있습니까?



답변

Select

MSDN 참조

여기 내 질문을 참조 하십시오 (직접 관련이 없기 때문에 궁금한 경우에만).


답변

Selectand SelectMany에 대한 또 다른 대안 은 자신의 확장 메서드를 작성하는 것입니다.

public static IEnumerable<U> Map<T, U>(this IEnumerable<T> s, Func<T, U> f)
{
  foreach (var item in s)
    yield return f(item);
}

이 달콤한 확장 방법에 대해 Wes Dyer에게 감사드립니다! 🙂 자세한 내용은 게시물 을 참조하십시오.


답변

이후 SelectSelectMany: 이미 언급 한, 당신이 요청하지 않은 추가 질문 답변 해 드리겠습니다 fold로 발견된다 집계를 .

이제이 글을 읽는 모든 사람은 Language Y 관용구를 사용하여 Language X를 작성하는 That Guy가 될 수있는 모든 준비를 갖추어야합니다. 따라서 동료 C # 프로그래머를 위해 너무 성급하게 생각하지 마십시오 .


답변

그리고 묻지 않은 질문에 대답하기 위해 “시퀀스”모나드를 바인딩하는 Haskell은 C #에서 SelectMany라고합니다. 자세한 내용은 Wes Dyer의 훌륭한 기사를 참조하십시오.

http://blogs.msdn.com/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx


답변

방법에 대한 ConvertAll ? 지도에 가장 가까운 것 같습니다.


답변