【发布时间】:2013-08-06 10:27:19
【问题描述】:
我知道 VB.NET 没有 yield 关键字,那么你将如何转换枚举的 yield。在下面的代码中?
private static IEnumerable<int> Combinations(int start, int level, int[] arr)
{
for (int i = start; i < arr.Length; i++)
if (level == 1)
yield return arr[i];
else
foreach (int combination in Combinations(i + 1, level - 1, arr))
yield return arr[i] * combination;
}
编辑:这适用于 .NET 2.0
有什么想法吗?
谢谢,
【问题讨论】:
-
我不会做 VB,但你需要创建一个列表来将结果推送到然后返回。
-
您使用的是哪个版本的VB? VB 11 有迭代器块...见msdn.microsoft.com/en-us/library/hh156729.aspx