读书人

迭代器实现时候程序无法继续执行咋回事

发布时间: 2012-04-05 12:42:40 作者: rapoo

迭代器实现时候程序无法继续执行怎么回事?

C# code
        static void Main(string[] args)        {            string Tem_str = "";             string str = "abcdefg"; //对str字符串逆序输出            foreach (object i in Transpose(str))            {                Tem_str += i.ToString();            }                      Console.WriteLine(Tem_str);                      Console.ReadKey();        }            public static IEnumerable<object> Transpose(string n)        {                           for (int i = n.Length - 1; i >= 0; i++)                {                    yield return (object)n[i];                }                  }


[解决办法]
探讨

请问yield return 和return有什么区别呢?

[解决办法]
探讨
C# 3 可能需要这么写:

public static IEnumerable<object> Transpose(string n)
{
return n.Reverse().Select(x => (object)x);
}

读书人网 >C#

热点推荐