社区
C#
帖子详情
那位达人能用简单通俗的语言或例子讲一下IEnumerable接口及其应用,写
downsome
2004-04-09 03:25:15
那位达人能用简单通俗的语言或例子讲一下IEnumerable接口及其应用,看了一些文章始终没搞懂,谢了
...全文
69
8
打赏
收藏
那位达人能用简单通俗的语言或例子讲一下IEnumerable接口及其应用,写
那位达人能用简单通俗的语言或例子讲一下IEnumerable接口及其应用,看了一些文章始终没搞懂,谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
一大梨
2004-04-13
打赏
举报
回复
……
marvelstack
2004-04-13
打赏
举报
回复
不错
huangsuipeng
2004-04-09
打赏
举报
回复
顶一下
HNU
2004-04-09
打赏
举报
回复
save
dhz123
2004-04-09
打赏
举报
回复
public class mySon:IEnumerator,IEnumerable
{
private int what;
private int whatMax;
private string[] sons;
public mySon(string[] sons)
{
what=0;
whatMax=sons.length;
this.sons=sons.Clone();
}
public IEnumerator GetEnumerator()
{
return this;
}
public object Current
{
get
{ return sons[what]; }
public bool MoveNext()
{
if(what<whatMax)
{
what++;
return true;
}
return false;
}
public void Reset ()
{
what=0;
}
}
edobnet
2004-04-09
打赏
举报
回复
IEnumerator 是所有枚举数的基接口。
枚举数只允许读取集合中的数据。枚举数无法用于修改基础集合。
最初,枚举数被定位于集合中第一个元素的前面。Reset 也将枚举数返回到此位置。在此位置,调用 Current 会引发异常。因此,在读取 Current 的值之前,必须调用 MoveNext 将枚举数提前到集合的第一个元素。
在调用 MoveNext 或 Reset 之前,Current 返回同一对象。MoveNext 将 Current 设置为下一个元素。
在传递到集合的末尾之后,枚举数放在集合中最后一个元素后面,且调用 MoveNext 会返回 false。如果最后一次调用 MoveNext 返回 false,则调用 Current 会引发异常。若要再次将 Current 设置为集合的第一个元素,可以调用 Reset,然后再调用 MoveNext。
只要集合保持不变,枚举数就将保持有效。如果对集合进行了更改(例如添加、修改或删除元素),则该枚举数将失效且不可恢复,并且下一次对 MoveNext 或 Reset 的调用将引发 InvalidOperationException。如果在 MoveNext 和 Current 之间修改集合,那么即使枚举数已经无效,Current 也将返回它所设置成的元素。
枚举数没有对集合的独占访问权;因此,枚举一个集合在本质上不是一个线程安全的过程。甚至在对集合进行同步处理时,其他线程仍可以修改该集合,这会导致枚举数引发异常。若要在枚举过程中保证线程安全,可以在整个枚举过程中锁定集合,或者捕捉由于其他线程进行的更改而引发的异常。
downsome
2004-04-09
打赏
举报
回复
不是2003所以查不到,原来看过一些,始终没看懂
kanshangren
2004-04-09
打赏
举报
回复
查看CSDN
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemCollectionsIEnumerableClassTopic.htm
C#
IEnumerable
和IEnumerator
接口
浅析
对实现
IEnumerable
的
接口
的容器进行遍历,
IEnumerable
和IEnumerator
接口
我有时候也有点迷糊,按官方的解释,
IEnumerable
是枚举器
接口
,IEnumerator是迭代器
接口
,从字面意思来看相差不大,逐一分析
一下
。 ...
C#中
IEnumerable
接口
用法实例分析
主要介绍了C#中
IEnumerable
接口
用法,实例分析了
IEnumerable
接口
的功能与使用技巧,需要的朋友可以参考下
自定义类型实现系统
接口
的
例子
(一)
实现IComparable和IComparer
接口
,
IEnumerable
和IEnumerator
接口
,IDisposable
接口
的
例子
。
C#自建类实现集合
接口
IEnumerable
, IEnumerator
C#自建集合类MyArrayList实现集合
接口
IEnumerable
, IEnumerator, 实现方法 inr add(object value),void Remove(object o), int Count, void Clear()
C#中的
IEnumerable
接口
深入研究
C#和VB.NET中的LINQ提供了一种与SQL查询类似的“对象查询”
语言
,对于熟悉SQL
语言
的人来说除了可以提供类似关联、分组查询的功能外,还能获取编译时检查和Intellisense的支持,使用Entity Framework更是能够自动为...
C#
110,536
社区成员
642,578
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章