gpt4 book ai didi

c# - yield 返回的长度

转载 作者:行者123 更新时间:2023-11-30 19:07:30 26 4
gpt4 key购买 nike

有没有一种方法可以在不保留计数器变量的情况下从函数中获取 yield 返回数?例如?

  IEnumerable<someobject> function
{
for loop
yield return something

int numberreturned = ....
}

最佳答案

那会破坏 yield return 的目的.

使用 yield return 意味着您要实现一个生成器(MSDN 将其称为迭代器 block ),即计算它返回的每个值的对象。根据定义,生成器可能是无限的,因此控制可能永远不会离开您的 for 循环。

流的工作方式相同。要计算流的长度,您必须耗尽它,并且您可能永远不会这样做。毕竟,数据可能来自无限来源(例如 /dev/zero )。

关于c# - yield 返回的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4998647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com