回 帖 发 新 帖 刷新版面

主题:yield问题

using System;
using System.Collections;
public class List
{
    public static IEnumerable Power(int number, int exponent)
    {
        int counter = 0;
        int result = 1;
        while (counter++ < exponent)
        {
            result = result * number;
            yield return result;
        }
    }

    static void Main()
    {
        // Display powers of 2 up to the exponent 8:
        foreach (int i in Power(2, 8))
        {
            Console.Write("{0} ", i);
        }
    }
}


这个代码在我机子上运行出错了,编译提示yield return result;中的return后要加;,我的VS版本是2003,请问是怎么回事

回复列表 (共3个回复)

沙发

这个程序是MSDN里面的示例,是没有问题的
楼主检查一下自已程序的输入,看是否有符号方面的问题。

板凳

应该是1.0不支持 yieid

3 楼

是机子版本问题 2003不支持关键字yield  我现在装了2005,可以运行了,谢谢啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册