摘要: yield这个关键字是和迭代器挂钩的,而且是与return一起以yield return的形式合用的,用来返回迭代器中的条目。yield不能单独放在try-catch块中,如果try中有yield那么,这个try块后面不许跟着finally块;也不能出现在匿名方法中,所以,看起来yield似乎并不常用,但是也不是不用。我前面有一个关于迭代器的例子《C#中的迭代器基础》中就用到了。可以参考一下那个例子,但是这里要再说的一点是我后来看到的,yield是跟return一起使用的,形式为yield return xxx,一般来说单独的return在每个方法中只能存在一个。而yield则不同的是,可以出 阅读全文
posted @ 2011-12-01 16:09 ojdev 阅读(498) 评论(0) 推荐(1) 编辑
摘要: 迭代器是可以返回相同类型的值的有序序列的一段代码。迭代器可用作方法、运算符或 get 访问器的代码体。迭代器代码使用yieldreturn 语句依次返回每个元素。yieldbreak 将终止迭代。可以在类中实现多个迭代器。 每个迭代器都必须像任何类成员一样有唯一的名称,并且可以在 foreach 语句中被客户端代码调用,如下所示:foreach(int x in SampleClass.Iterator2){}。迭代器的返回类型必须为 IEnumerable、IEnumerator、IEnumerable(Of T) 或IEnumerator(Of T)。迭代器是 LINQ 查询中延迟执行行为 阅读全文
posted @ 2011-12-01 15:13 ojdev 阅读(1734) 评论(13) 推荐(5) 编辑