不是在方法的开头声明一个列表,而是添加它然后返回它 - 我确定有一些可以在循环中写入的简写返回语句,例如,保存额外的代码(声明等),但我已经忘记了。有人知道我的意思吗?
答案 0 :(得分:5)
使用 yield
:
public IEnumerable<int> BuildList()
{
yield return 1;
yield return 2;
}
答案 1 :(得分:2)
我认为您正在寻找yield return
你可以像这样使用它来循环返回元素:
public IEnumerable<T> GetElements()
{
foreach(T t in listOfT)
{
// do some work
yield return t;
//code will continue here on next iteration
}
}
请注意,通常可以使用linq或扩展方法来处理列表的所有元素,而不必使用循环编写函数。就像在列表的所有元素上过滤satisfy to some condition或perform an operation元素的列表一样。