C#基礎(chǔ)知識(shí)之8
由朱朱編寫,轉(zhuǎn)載請(qǐng)注明出自朱朱家園http://blog.csdn.net/zhgl7688
1、 枚舉數(shù)類型有3種:非泛型接口(IEnumerator/IEnumerable接口)、泛型接口(IEnumerator<T>/IEnumerable<T>接口)、不使用接口。
2、 IEnumerator接口包括3個(gè)函數(shù)成員:current返回當(dāng)前位置項(xiàng)(只讀屬性),movenext把枚舉數(shù)位置前到下1項(xiàng)的方法、返回布爾值說(shuō)明新位置是不是有效,reset方法把位置重置為原始狀態(tài)。
3、 創(chuàng)建非泛型接口的枚舉數(shù)類,必須聲明實(shí)現(xiàn)IEnumerator接口的類,其接口類中有3個(gè)方法:Current、MoveNext、Reset,它是System.Collections命名空間的成員。
4、 IEnumerable接口只有1個(gè)成員GetEnumerator方法,它返回對(duì)象的枚舉數(shù)。
5、 泛型枚舉接口與非泛型枚舉接口的區(qū)分:前者實(shí)現(xiàn)了current屬性,返回object的援用。后者返回實(shí)際類型的對(duì)象。
6、 泛型枚舉接口從兩個(gè)接口繼承:非泛型IEnumerator接口和IDisposable接口。
7、 IDisposable接口只有Dispose的類型為void的無(wú)參數(shù)方法,用于釋放非托管資源。
8、 迭代器是有1個(gè)或多個(gè)yield語(yǔ)句的代碼塊,有3種:方法主體,訪問器主體,運(yùn)算符主體。
9、 迭代器有兩個(gè)特殊語(yǔ)句:yieldreturn語(yǔ)句履行了序列中返回的下1項(xiàng)。Yield break語(yǔ)句指定在序列中沒有更多項(xiàng)。
10、 迭代器需要System.Colletions.Generic命名空間,用using援用。
11、
12、 泛型拜托:聲明泛型拜托在拜托名稱和拜托參數(shù)列表之間,用尖括號(hào)中放類型參數(shù)列表。
13、 類型參數(shù)列表包括:返回值、形參數(shù)表、束縛子句。拜托返回的類型在參數(shù)表的最后1個(gè)。
14、 編譯器可以從方法參數(shù)中推斷類型參數(shù)時(shí),可以省略類型參數(shù)和調(diào)用中的尖括號(hào)。
15、 泛型類的擴(kuò)大方法:必須聲明為static,靜態(tài)類的成員,第1個(gè)參數(shù)類型中必須有關(guān)鍵詞this、后面是擴(kuò)大的泛型類的名字。
16、 LINQ是集成到C#和VB.NET用于提供查詢數(shù)據(jù)能力的1個(gè)新特性。以數(shù)據(jù)庫(kù)查詢的方式 查詢數(shù)據(jù)集合。允許從數(shù)據(jù)庫(kù)、程序?qū)ο蠹虾蚗ML文檔中查詢數(shù)據(jù)。
由朱朱編寫,轉(zhuǎn)載請(qǐng)注明出自朱朱家園http://blog.csdn.net/zhgl7688