迭代一个类和迭代一个类成员有什么区别呢

cygzappo 2007-09-20 02:04:06
迭代一个类是否指迭代一个类的一个对象,而迭代一个类中的一个方法,就可以看作是迭代一个类成员呢。

如果这个方法是一个静态方法,那么就不用制定一个具体的对象。

class Program
{
public static IEnumerable SimpleList()
{
yield return "string 1";
yield return "string 2";
}

static void Main(string[] args)
{
foreach (string item in SimpleList())
Console.WriteLine(item);
Console.ReadKey();
}
}

yield return 到底是把值返回到哪里呢?是不是说当调用SimpleList()这个方法的时候系统就自动的为它分配了一个空间,yield return就是把值返回到这个空间里。当主程序调用foreach的时候,就是到这个空间里去遍历呢?系统可以为一个方法分配空间吗?

如果是迭代一个类的话,是不是yield return就是返回值到这个类的一个对象的GetEnumerator()方法的空间里?

谢谢了。
...全文
141 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cygzappo 2007-09-21
  • 打赏
  • 举报
回复
唉,看见自己的问题有人回答了,满怀希望的进来,就看见“沙发”两个字。
panzi667 2007-09-21
  • 打赏
  • 举报
回复
沙发

110,524

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧