如何阻止IEnumberable
枚举相关变量中的所有元素。
我有一个函数,我将IEnumerable
列表传递给它,它将始终只有两个元素。但是,我需要该函数只运行第一个元素,不多也不少。我怎么才能让它只通过第一个元素?
注意:由于只有两个元素,我尝试单独传递它们(例如double
double
),但它仍然贯穿两者。
答案 0 :(得分:1)
答案 1 :(得分:0)
以下代码显示:
返回0
确认实际上只评估了其中一个项目。
public static void Main()
{
var numbers = GetNumbers(2);
var result = numbers.Take(1);
// Evaluate only first number
result.ToArray();
}
public static IEnumerable<int> GetNumbers(int max)
{
for(int i = 0; i < max; i++)
{
Console.WriteLine("Returning {0}", i);
yield return i;
}
}