.net中有一个接口为IEnumerable,该接口只有一个方法GetEnumerator(),返回类型为IEnumrator.当某类A实现这个接口时,则可以对类A进行迭代访问.在实现GetEnumerator()方法中将会用到yield return,yield break;
yield return 表示在迭代中下一个迭代时返回的数据.
yield break表示跳出迭代.
例如:
class A:IEnumerable
{
private int[] array=new int[10];
public IEnumrator GetEnumerator()
{
for(int i=0;i<10;i++)
{
yield return array[i];
}
}
}
//如果你只想让用户访问ARRAY的前8个数据,则可做如下修改.这时将会用到yield break,修改函数如下
public IEnumrator GetEnumerator()
{
for(int i=0;i<10;i++)
{
if(i<8)
yield return array[i];
else
yield break;
}
}
这样,则只会返回前8个数据.
浙公网安备 33010602011771号