【发布时间】:2017-10-24 23:19:17
【问题描述】:
我们在haskell Prelude中有迭代功能
iterate :: (a -> a) -> a -> [a]
iterate f x == [x, f x, f (f x), ...]
C# 中的等价物是什么?
【问题讨论】:
-
Afaik 没有具有该功能的方法,但您当然可以自己编写一个。
我们在haskell Prelude中有迭代功能
iterate :: (a -> a) -> a -> [a]
iterate f x == [x, f x, f (f x), ...]
C# 中的等价物是什么?
【问题讨论】:
没有,但你可以自己写:
public static IEnumerable<T> Iterate<T>(T seed, Func<T, T> step)
{
while(true)
{
yield return seed;
seed = step(seed);
}
}
【讨论】: