【发布时间】:2011-01-08 13:57:39
【问题描述】:
我正在研究 LINQ 和相关主题,并且想知道以下问题。
我有两种获取斐波那契数列的方法。 我开始了:
public static IEnumerable<int> Fibonacci
{
get
{
int i = 0;
int j = 1;
int temp = 0;
while (true)
{
yield return i;
temp = i;
i = j;
j = temp + i;
}
}
}
但这让我开始思考,我为什么要选择这个:
public static IList<int> Fibonacci(long to)
{
IList<int> fibList = new List<int>();
int i = 0;
int j = 1;
int temp, index = 0;
while (index < to)
{
fibList.Add(i);
temp = i;
i = j;
j = temp + i;
index++;
}
return fibList;
}
IList 也是一个 Enumerable + 我可能想为其添加一些参数化。
我并不是真的在寻找优化或东西或诸如使用
【问题讨论】:
标签: c# linq list enumerable