程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 在C#中IEnumerable與IEnumerator

在C#中IEnumerable與IEnumerator

編輯:C#入門知識

 

   IEnumerable {       
   }   IEnumerator {          
      
          
    Current {   }

看我們手動自定義的Student類,以及Student1,StudentEnum類(分別繼承了IEnumerable,IEnumerator接口),上代碼

     
          
 
                              Student( name,   
             .Name =             .Score =       
       
 
                                students =               ( i = ; i < stArray.Length; i++                  students[i] =                         
                 
                 
          position = - 
           
             students =  
                        
              
                 
                                          
                         
                        
             position++              position >= students.Length ?  :   
                        
             position = -   
 
                 Main(              Student[] studentArrary =  Student[             
                  Student(,                  Student(,              Student1 studenlist =               (Student item   
                 Console.WriteLine(item.Name + +                 
     }

1、一個Collection要支持foreach方式的遍歷,必須實現IEnumerable接口(亦即,必須以某種方式返回IEnumerator object)。
 
2、IEnumerator object具體實現了iterator(通過MoveNext(),Reset(),Current)。
 
3、從這兩個接口的用詞選擇上,也可以看出其不同:IEnumerable是一個聲明式的接口,聲明實現該接口的class是“可枚舉(enumerable)”的,但並沒有說明如何實現枚舉器(iterator);IEnumerator是一個實現式的接口,IEnumerator object就是一個iterator。
 
4、IEnumerable和IEnumerator通過IEnumerable的GetEnumerator()方法建立了連接,client可以通過IEnumerable的GetEnumerator()得到IEnumerator object,在這個意義上,將GetEnumerator()看作IEnumerator object的傳遞方法。

 

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved