gpt4 book ai didi

C#: yield 返回范围/集合

转载 作者:太空宇宙 更新时间:2023-11-03 15:15:03 25 4
gpt4 key购买 nike

我经常使用 yield return 关键字,但是当我想将范围添加到 IEnumerable 时,我发现缺少它。这是我想做的一个简单示例:

IEnumerable<string> SomeRecursiveMethod()
{
// some code
// ...
yield return SomeRecursiveMethod();
}

这自然会导致错误,可以通过执行一个简单的循环来解决。有一个更好的方法吗?循环感觉有点笨拙。

最佳答案

不,恐怕没有。 F# 确实通过 yield! 支持这一点,但在 C# 中没有等效项 - 您基本上必须使用循环。对不起...我感觉到你的痛苦。我在 one of my Edulinq blog posts 中提到过它,它会使事情变得更简单。

请注意,递归地使用 yield return 可能会很昂贵 - 请参阅 Wes Dyer's post on iterators了解更多信息(并提到四年前正在考虑的“yield foreach”......)

关于C#: yield 返回范围/集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39304108/

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