使用ienumerable介面遍歷資料,這在專案中會經常的用到,這個型別呢主要是乙個列舉器。
1.首先需要讓該型別實現乙個名字叫ienumerable的介面,實現該介面的主要目的是為了讓當前型別中增加乙個名字叫getenumerator()的方法。
public2.希望乙個型別被列舉遍歷,就是要實現乙個列舉器方法class
person : ienumerable
;public
string
name
public
intage
public
string
#region ienumerable 成員
//這個方法的作用就是返回乙個「列舉器」
public
ienumerator getenumerator()
#endregion
}
public3.然後進行遍歷,這裡呢可以呼叫自己封裝的movenext方法去找陣列元素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
}
person p = new也可以直接使用foreach,而且主要是因為是列舉元素,類似與陣列,list等等之類的,都可以使用lambda表示式來進行資料的處理person();
ienumerator etor =p.getenumerator();
while
(etor.movenext())
person p = new4.輸出的結果如下:person();
foreach (string item in
p)
console.writeline("ok
");
介面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...