停止IEnumerable枚举所有元素

本文关键字:元素 枚举 IEnumerable 停止 | 更新日期: 2023-09-27 18:29:49

如何阻止IEnumberable枚举相关变量中的所有元素。我有一个函数,我将一个IEnumerable列表传递给它,它总是只有两个元素。然而,我需要函数只为第一个元素运行,不多也不少。如何使它只经过第一个元素?

注意:由于只有两个元素,所以我尝试将它们分别传入(例如double double),但它仍然会同时传入这两个元素。

停止IEnumerable枚举所有元素

您可以使用Take方法来执行以下操作:

profile = profile.Take(1);

现在,当您枚举profile时,您将只遍历一项。

显示以下代码:

返回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;
    }
}