社区
C#
帖子详情
求IEnumerable 接口的简单示例
BlueskyGreenearth
2005-06-17 11:52:45
菜鸟,求关于使用IEnumerable 接口的简单示例
...全文
140
2
打赏
收藏
求IEnumerable 接口的简单示例
菜鸟,求关于使用IEnumerable 接口的简单示例
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
epimetheus
2005-06-18
打赏
举报
回复
一般都是继承IEnumerable接口。在实现此接口的GetEnumerator方法时再实现IEnumerator接口
代码如下:
/// <summary>
/// 返回可循环访问集合的枚举数。
/// </summary>
/// <returns>可用于循环访问集合的 System.Collections.IEnumerator。</returns>
public System.Collections.IEnumerator GetEnumerator()
{
return new SheetsEnumerator(this.m_Sheets);
}
/// <summary>
/// 内部类实现foeach支持
/// </summary>
internal class SheetsEnumerator: System.Collections.IEnumerator
{
private int currentItem = 0;
private int iCount = 0;
private System.Collections.IEnumerator enumerator = null;
/// <summary>
/// 构造函数
/// </summary>
internal SheetsEnumerator(MSExcel.Sheets mWorksheets)
{
this.currentItem = 0;
this.iCount = mWorksheets.Count;
this.enumerator = mWorksheets.GetEnumerator();
}
#region IEnumerator 成员
/// <summary>
/// 将枚举数设置为其初始位置,该位置位于集合中第一个元素之前。
/// </summary>
public void Reset()
{
this.currentItem = 0;
this.enumerator.Reset();
}
/// <summary>
/// 获取集合中的当前元素。
/// </summary>
public object Current
{
get
{
WorkSheet mWorkSheet = null;
if(this.enumerator.MoveNext())
mWorkSheet = new WorkSheet(this.enumerator.Current as MSExcel.Worksheet);
return mWorkSheet;
}
}
/// <summary>
/// 将枚举数推进到集合的下一个元素。
/// </summary>
/// <returns>如果枚举数成功地推进到下一个元素,则为 true;如果枚举数越过集合的结尾,则为 false。</returns>
public bool MoveNext()
{
bool blnRet = false;
this.currentItem++;
if(this.currentItem <= this.iCount)
blnRet = true;
return blnRet;
}
#endregion
}
#endregion
cheery_ke
2005-06-17
打赏
举报
回复
// ========================================================================================
// Cheery Studio Development Tools
// NodeSimple.cs
// ========================================================================================
//
// Information
// NAMESPACE: CheeryStudio.DevTools.WebForm.UI.TreeRel
// CLASSNAME: NodeSimple
// EXTEND FROM: NULL
// IMPLEMENT: System.Collections.IEnumerator
// REFERENCE: System.dll
//
// ========================================================================================
// Release History
// VERSION MENDER DATE DESCRIPTION
// 1.0 Cheery 9/8/2004 Create
//
// ========================================================================================
// Copyright (C) 2004 Cheery Studio
// All rights reserved.
// ========================================================================================
namespace CheeryStudio.DevTools.WebForm.UI.TreeRel
{
using System;
using System.Collections;
/// <summary>
/// 简单迭代支持
/// </summary>
public class NodeSimple : System.Collections.IEnumerator
{
private int _index = -1;
private NodeCollection _nodes = null;
/// <summary>
/// 简单迭代对象
/// </summary>
/// <param name="nodeCollection">被迭代的目标</param>
public NodeSimple( NodeCollection nodeCollection )
{
_nodes = nodeCollection;
}
#region IEnumerator 成员
/// <summary>
/// 将游标置于当前集合之首
/// </summary>
public void Reset()
{
_index = -1;
}
/// <summary>
/// 当前对象
/// </summary>
public object Current
{
get
{
return (Node)_nodes[_index];
}
}
/// <summary>
/// 将游标向下移动一位
/// </summary>
/// <returns></returns>
public bool MoveNext()
{
if( _index < _nodes.Count - 2 )
{
_index++;
return true;
}
return false;
}
#endregion
}
}
C#中的
IEnumerable
接口
深入研究
主要介绍了.NET中的
IEnumerable
接口
深入研究,分析出了它的实现原理和实现代码,需要的朋友可以参考下
C#
简单
分页,支持数据源DataTable和
IEnumerable
SourceCode
简单
的分页 “上一页”,“下一页”,“尾页”,“首页” 支持数据源DataTable和
IEnumerable
C#中的
IEnumerable
简介及
简单
实现实例
主要介绍了C#中的
IEnumerable
简介及
简单
实现实例,本文讲解了
IEnumerable
一些知识并给出了一个
简单
的实现,需要的朋友可以参考下
linq
简单
查询
示例
linq
简单
查询
示例
,union,select,from,where,contact
LINQ技术经典
示例
LINQ技术经典
示例
,通俗、直观地展示了LINQ的核心技术
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章