C#基礎知識之八,
C#基礎知識之八
由朱朱編寫,轉載請註明出自朱朱家園http://blog.csdn.net/zhgl7688
1、 枚舉數類型有3種:非泛型介面(IEnumerator/IEnumerable介面)、泛型介面(IEnumerator<T>/IEnumerable<T>介面)、不使用介面。
2、 IEnumerator介面包含3個函數成員:current返回當前位置項(唯讀屬性),movenext把枚舉數位置前到下一項的方法、返回布爾值說明新位置是否有效,reset方法把位置重設為原始狀態。
3、 建立非泛型介面的枚舉數類,必須聲明實現IEnumerator介面的類,其介面類中有3個方法:Current、MoveNext、Reset,它是System.Collections命名空間的成員。
4、 IEnumerable介面只有一個成員GetEnumerator方法,它返回對象的枚舉數。
5、 泛型枚舉介面與非泛型枚舉介面的區別:前者實現了current屬性,返回object的引用。後者返回實際類型的對象。
6、 泛型枚舉介面從兩個介面繼承:非泛型IEnumerator介面和IDisposable介面。
7、 IDisposable介面只有Dispose的類型為void的無參數方法,用於釋放非託管資源。
8、 迭代器是有一個或多個yield語句的代碼塊,有三種:方法主體,訪問器主體,運算子主體。
9、 迭代器有兩個特殊語句:yieldreturn語句執行了序列中返回的下一項。Yield break語句指定在序列中沒有更多項。
10、 迭代器需要System.Colletions.Generic命名空間,用using引用。
11、
12、 泛型委派:聲明泛型委派在委託名稱和委託參數列表之間,用角括弧中放型別參數列表。
13、 型別參數列表包括:返回值、形參數表、約束子句。委託返回的類型在參數表的最後一個。
14、 編譯器可以從方法參數中推斷型別參數時,可以省略型別參數和調用中的角括弧。
15、 泛型類的擴充方法:必須聲明為static,靜態類的成員,第一個參數類型中必須有關鍵詞this、後面是擴充的泛型類的名字。
16、 LINQ是整合到C#和VB.NET用於提供查詢資料能力的一個新特性。以資料庫查詢的方式 查詢資料集合。允許從資料庫、程式對象集合以及XML文檔中查詢資料。
由朱朱編寫,轉載請註明出自朱朱家園http://blog.csdn.net/zhgl7688