自己对于IEnumerable接口的理解
2017-09-19 10:08
253 查看
IEnumerable在开发中的使用主要体现在foreach,只是我们从不去深究它。
使用foreach时,如果我们遍历的对象没有对GetEnumerator()的定义,则foreach报错。
例如如下的类,实现了GetEnumerator()后,我们可以自定义自己的逻辑来实现数据的遍历。
class BuddyClass:IEnumerable
{
private string[] str = new string[] { "Jesse", "Jesse2", "Jesse3", "Jesse4", "Jess5" };
public IEnumerator GetEnumerator()
{
foreach (var item in str)
{
yield return item;
}
}
}
BuddyClass by = new BuddyClass();
foreach (var item in by)
{
str.Append(item);
}
使用foreach时,如果我们遍历的对象没有对GetEnumerator()的定义,则foreach报错。
例如如下的类,实现了GetEnumerator()后,我们可以自定义自己的逻辑来实现数据的遍历。
class BuddyClass:IEnumerable
{
private string[] str = new string[] { "Jesse", "Jesse2", "Jesse3", "Jesse4", "Jess5" };
public IEnumerator GetEnumerator()
{
foreach (var item in str)
{
yield return item;
}
}
}
BuddyClass by = new BuddyClass();
foreach (var item in by)
{
str.Append(item);
}
相关文章推荐
- iOS清除缓存详细解析、app文件路径操作,自己个人对于沙盒的理解
- 对于为什么要使用接口的个人理解
- 对于session与cookie机制,自己的一点理解
- 自己对于消息机制的理解
- 对于Android中接口回调机制的理解
- 自己理解的接口回调
- 对于接口回调的简单理解
- 深入理解IEnumerable和IQueryable两接口的区别
- 如何自己实现IEnumerable和IEnumerator接口以支持foreach语句
- 自己理解接口回调入门
- 自己对于的理解Android的生命周期
- java 中对于接口的理解和我对java 的一些理解
- 对于HTTPServlet接口的理解
- 自己对于instancetype的理解和应用iOS开发的过程
- 自己对于python的理解
- 说一下自己对于 Linux 哲学的理解
- 对于接口的理解
- 自己对于工厂模式的理解
- 理解IEnumerator+IEnumerable这种接口思想
- 对于.NET中接口的理解