通過IEnumerable介面遍歷資料

2022-04-06 07:54:47 字數 1397 閱讀 4184

使用ienumerable介面遍歷資料,這在專案中會經常的用到,這個型別呢主要是乙個列舉器。

1.首先需要讓該型別實現乙個名字叫ienumerable的介面,實現該介面的主要目的是為了讓當前型別中增加乙個名字叫getenumerator()的方法。

public

class

person : ienumerable

;public

string

name

public

intage

public

string

email

#region ienumerable 成員

//這個方法的作用就是返回乙個「列舉器」

public

ienumerator getenumerator()

#endregion

}

2.希望乙個型別被列舉遍歷,就是要實現乙個列舉器方法

public

class

personenumerator : ienumerator

private

string

_friends;

//一般下標都是一開始指向了第一條的前一條。第一條是0

private

int index = -1

;

#region ienumerator 成員

public

object

current

else}}

public

bool

movenext()

return

false

; }

public

void

reset()

#endregion

}

3.然後進行遍歷,這裡呢可以呼叫自己封裝的movenext方法去找陣列元素

person p = new

person();

ienumerator etor =p.getenumerator();

while

(etor.movenext())

也可以直接使用foreach,而且主要是因為是列舉元素,類似與陣列,list等等之類的,都可以使用lambda表示式來進行資料的處理

person p = new

person();

foreach (string item in

p)

console.writeline("ok

");

4.輸出的結果如下:

介面IEnumerable的使用例項

public class linkedlist ienumerable public linkedlistnode last public linkedlistnode addlast object node else return newnode public ienumerator getenu...

實現泛型IEnumerable介面

用c 實現乙個類的ienumerable介面時有兩種方法 1 實現非泛型ienumerable介面 2 實現泛型ienumerable t 介面。如果採用方法1,當集合元素t是值型別時,將涉及到巨多的boxing和unboxing操作。因此,理所當然地採用方法2 例如,以下 採用方法2實現列舉從指定...

陣列,集合,IEnumerable介面,迭代器

發展 陣列 集合 泛型 1 陣列 1.陣列資料結構是system.array類的乙個例項.2.system.array類的語法為 serializableattribute comvisibleattribute true public abstract class array icloneable...