自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

VB.NET IEnumerator接口操作代碼解讀

開發(fā) 后端
VB.NET IEnumerator接口主要功能就是幫助開發(fā)人員實(shí)現(xiàn)迭代,并且還能支持其中的for each等操作。下面讓我們一起來看看具體的編寫方式。

VB.NET從出現(xiàn)到今天已經(jīng)經(jīng)過了一段比較長的過渡期,而且這項(xiàng)技術(shù)語言正在穩(wěn)步健康的向前發(fā)展,為開發(fā)人員不斷的提供新的功能。在面向?qū)ο蟮脑O(shè)計(jì)中,經(jīng)常會用到有類似父子關(guān)系的這個(gè)對象,比如在我現(xiàn)在的一個(gè)項(xiàng)目中,有訂單對象,在一個(gè)訂單下又包含多個(gè)產(chǎn)品,這時(shí)我就想用 Iterator模式來封裝訂單下的產(chǎn)品,VB.NET IEnumerator接口就是用來實(shí)現(xiàn)迭代的,來支持VB.NET中的for each的操作。#t#

要想實(shí)現(xiàn)VB.NET IEnumerator接口,需在實(shí)現(xiàn)以下幾個(gè)函數(shù)來支持這一操作

 

  1. Overridable ReadOnly 
    Property Current() As Object 

Current用于在迭代過程中得到當(dāng)前的對象

  1. Public Overridable 
    Function MoveNext() 
    As Boolean 

 

MoveNext用于在迭代過程中將迭代指針指向下一個(gè)對象,初始是迭代指針指向集合的開始(在***個(gè)節(jié)點(diǎn)之前的位置),一旦越過集合的結(jié)尾,在調(diào)用 Reset 之前,對 MoveNext 的后續(xù)調(diào)用返回 false。

  1. Overridable 
    Sub Reset() 

將枚舉數(shù)設(shè)置為其初始位置,該位置位于集合中***個(gè)元素之前。

只要集合保持不變,枚舉數(shù)就將保持有效。如果對集合進(jìn)行了更改(例如添加、修改或刪除元素),則該枚舉數(shù)將失效且不可恢復(fù),并且下一次對 MoveNext 或 Reset 的調(diào)用將引發(fā)InvalidOperationException。

下面是一個(gè)具體的VB.NET IEnumerator接口的對像

  1. Imports System.Collections   
  2. '在此實(shí)際實(shí)現(xiàn)的是System.Collections.
    IEnumerable接口,   
  3. IteratorProduct 用此接口來向使用者
    提供對VB.NET IEnumerator接口的操作。   
  4. Public Class IteratorProduct : 
    Implements System.Collections.
    IEnumerable   
  5. Private Products As Collection 
    '用Collection在存訂單中的所有產(chǎn)品   
  6. Private item As Integer = -1   
  7. Public Sub New()   
  8. Products = New Collection   
  9. Products.Add("xh") '這只是為了
    測試方便,將加入產(chǎn)品的內(nèi)容直接寫在這了   
  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 IEnumerator接口的相關(guān)代碼示例就為大家介紹到這里。

責(zé)任編輯:曹凱 來源: 中國IT實(shí)驗(yàn)室
相關(guān)推薦

2009-11-02 15:45:03

VB.NET IEnu

2009-10-29 16:23:42

VB.NET實(shí)現(xiàn)IEn

2010-01-13 09:31:39

VB.NET窗體打印

2010-01-13 15:01:13

VB.NET操作MyS

2010-01-08 10:48:05

VB.NET多線程

2010-01-19 17:03:25

VB.NET可執(zhí)行語句

2010-01-08 14:50:47

VB.NET測試硬盤速

2010-01-07 17:51:36

VB.NET實(shí)現(xiàn)Sin

2010-01-20 14:32:12

VB.NET轉(zhuǎn)換運(yùn)算符

2009-08-19 16:38:30

VB.NET接口范例

2009-10-27 12:06:01

VB.NET IDis

2010-01-11 11:37:08

VB.NET操作CSV

2010-01-11 11:02:27

VB.NET調(diào)用存儲過

2010-01-07 10:28:04

VB.NET實(shí)現(xiàn)接口

2010-01-18 16:58:29

VB.NET Over

2010-01-15 11:31:02

VB.NET接口實(shí)現(xiàn)多

2009-11-02 10:42:04

VB.NET EXCE

2009-10-09 16:54:03

VB.NET窗體

2010-01-11 17:12:12

VB.NET事務(wù)處理

2010-01-08 10:37:50

VB.NET數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號