重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

VB.NET中zm操作IEnumerator接口

本篇文章给大家分享的是有关VB.NET中zm操作 IEnumerator接口,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

创新互联专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,成都服务器托管成都服务器托管,成都多线服务器托管等服务器托管服务。

要想实现VB.NET IEnumerator接口,需在实现以下几个函数来支持这一操作

  1. Overridable ReadOnly 
    Property Current() As Object 

Current用于在迭代过程中得到当前的对象

  1. Public Overridable 
    Function MoveNext() 
    As Boolean 

MoveNext用于在迭代过程中将迭代指针指向下一个对象,初始是迭代指针指向集合的开始(在***个节点之前的位置),一旦越过集合的结尾,在调用 Reset 之前,对 MoveNext 的后续调用返回 false。

  1. Overridable 
    Sub Reset() 

将枚举数设置为其初始位置,该位置位于集合中***个元素之前。

只要集合保持不变,枚举数就将保持有效。如果对集合进行了更改(例如添加、修改或删除元素),则该枚举数将失效且不可恢复,并且下一次对 MoveNext 或 Reset 的调用将引发InvalidOperationException。

下面是一个具体的VB.NET IEnumerator接口的对像

  1. Imports System.Collections   

  2. '在此实际实现的是System.Collections.
    IEnumerable接口,   

  3. IteratorProduct 用此接口来向使用者
    提供对VB.NET IEnumerator接口的操作。   

  4. Public Class IteratorProduct : 
    Implements System.Collections.
    IEnumerable   

  5. Private Products As Collection 
    '用Collection在存订单中的所有产品   

  6. Private item As Integer = -1   

  7. Public Sub New()   

  8. Products = New Collection   

  9. Products.Add("xh") '这只是为了
    测试方便,将加入产品的内容直接写在这了   

  10. Products.Add("lj")   

  11. Products.Add("qd")   

  12. End Sub   

  13. Overridable ReadOnly Property 
    Current() As Object   

  14. Get   

  15. Return Products(item)   

  16. End Get   

  17. End Property   

  18. Public Overridable Function 
    MoveNext() As Boolean   

  19. item += 1   

  20. End Function   

  21. Overridable Sub Reset()   

  22. item = -1   

  23. End Sub   

  24. '返回迭代对像给使用者   

  25. Overridable Function GetEnumerator()   

  26. As IEnumerator Implements 
    IEnumerable.GetEnumerator   

  27. Return Me.Products.GetEnumerator   

  28. End Function   

  29. End Class 

以上就是VB.NET中zm操作 IEnumerator接口,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


网站标题:VB.NET中zm操作IEnumerator接口
新闻来源:http://cqcxhl.cn/article/gichhh.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP