Haskell中的map函数有两个输入参数.第一个参数是函数,第二个参数是列表.map函数将作为输入参数传递的函数应用于列表中的所有元素,并返回一个新列表.
C#是否等同于此功能?
Ann*_*ang 20
另一个备选方案Select,并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);
}
Run Code Online (Sandbox Code Playgroud)
谢谢Wes Dyer这个甜蜜的扩展方法!:)查看帖子了解更多详情.
C. *_*ann 15
由于Select与SelectMany已经提到的,我会回答一个额外的问题,你没有问:fold发现为骨料.
现在每个读这篇文章的人都应该有足够的能力成为那个使用Language Y成语写出语言X的家伙......所以为了你的C#程序员,不要太过于沮丧.
Eri*_*ert 11
为了回答你没有问过的问题,Haskell相当于绑定"序列"monad在C#中称为SelectMany.有关详细信息,请参阅Wes Dyer关于此的精彩文章:
http://blogs.msdn.com/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx
| 归档时间: |
|
| 查看次数: |
53801 次 |
| 最近记录: |