鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > .net技术 > c#编程 > >

随心所欲~我也做个集合遍历器吧(自己的foreach,委托的威力)

来源:互联网 作者:佚名 时间:2013-09-10 07:45
感觉微软在面向对象三大原则中,封装性运用的最为突出,它会将一些复杂的算法,结构,功能代码进行封装,让程序员在使用时十分得心应手,如关键字里的foreach和labmda表达式里的Foreach等等,今天我也来写一个集合遍历器得了,呵呵。 小知识:你的集合如果是

感觉微软在面向对象三大原则中,封装性运用的最为突出,它会将一些复杂的算法,结构,功能代码进行封装,让程序员在使用时十分得心应手,如关键字里的foreach和labmda表达式里的Foreach等等,今天我也来写一个集合遍历器得了,,呵呵。

小知识:你的集合如果是List,那么它里面的N多方法都是可以拿来就用的,今天的遍历功能,使用List里的GetEnumerator()方法实现,它返回的其实是一个Enumerator结果体,这个枚举器的结构体如下:

[Serializable] public struct Enumerator : IEnumerator<T>, IDisposable, IEnumerator { // 摘要: // 获取枚举数当前位置的元素。 // // 返回结果: T Current { get; } // 摘要: // 释放由 System.Collections.Generic.List<T>.Enumerator 使用的所有资源。 [TargetedPatchingOptOut()] public void Dispose(); // // 摘要: // 使枚举数前进到 System.Collections.Generic.List<T> 的下一个元素。 // // 返回结果: // 如果枚举数成功地推进到下一个元素,则为 true;如果枚举数越过集合的结尾,则为 false。 // // 异常: // System.InvalidOperationException: MoveNext(); }

网友评论
<