IEnumerable和IEnumerator
来源:互联网 发布:livin on a prayer知乎 编辑:程序博客网 时间:2024/05/17 23:52
IEnumerable:
IEnumerator GetEnumerator()返回可循环访问集合的枚举数。
IEnumerator:
object Current获取集合中的当前元素。bool MoveNext()将枚举数推进到集合的下一个元素。
如果枚举数成功地推进到下一个元素,则为 true;如果枚举数越过集合的结尾,则为 false。void Reset()将枚举数设置为其初始位置,该位置位于集合中第一个元素之前。
和
using System;
using System.Collections;
namespace ConsoleApplication1
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
CStringEnum se = new CStringEnum();
foreach (string s in se)
{
Console.WriteLine(s);
}
Console.Read() ;
}
}
class CStringEnum : IEnumerable, IEnumerator
{
string[] items = new string[16];
int index = -1;
public CStringEnum()
{
for(int i=0; i<items.Length; ++i)
items[i] = "s" + i.ToString();
}
#region IEnumerable Members
public IEnumerator GetEnumerator()
{
// TODO: Add StringCollection.GetEnumerator implementation
return (IEnumerator)this;
}
#endregion
#region IEnumerator Members
public void Reset()
{
// TODO: Add CStringEnum.Reset implementation
index = -1;
}
public object Current
{
get
{
// TODO: Add CStringEnum.Current getter implementation
return items[index];
}
}
public bool MoveNext()
{
// TODO: Add CStringEnum.MoveNext implementation
index++;
return index >= items.Length ? false : true;
}
#endregion
}
}
- IEnumerable 和 IEnumerator 接口
- IEnumerable 和 IEnumerator 接口
- IEnumerable 和 IEnumerator 接口
- IEnumerable和IEnumerator接口
- IEnumerable和IEnumerator区别
- IEnumerable和IEnumerator区别
- IEnumerator和IEnumerable区别
- IEnumerable和IEnumerator 详解
- IEnumerable和IEnumerator 详解
- IEnumerable和IEnumerator 详解 .
- IEnumerator和IEnumerable区别
- IEnumerable和IEnumerator 详解
- IEnumerable和IEnumerator 详解
- IEnumerable和IEnumerator
- IEnumerable和IEnumerator 详解
- IEnumerable和IEnumerator 详解
- IEnumerable 和 IEnumerator 接口
- IEnumerable和IEnumerator 详解
- iOS开发 Xcode8中遇到的问题及改动
- Linux 下安装mysql 出现libncurses.so.5 is needed by MySQL-client-5.6.22-1.el6.i686解决办法
- numpy-数组对象ndarray
- 2018校招三七互娱软件测试岗笔试题
- Divide and Conquer -- Leetcode problem240. Search a 2D Matrix II
- IEnumerable和IEnumerator
- Chart.js使用
- Android
- lstm+crf实现命名实体识别
- 闪屏页(二)
- C/C++ 大数加法 动态分配内存
- 浅谈css3的轮播图
- 题目96-n-1位数
- MYSQL数据库四种索引类型的简单使用