一、迭代器模式簡介(Brief Introduction) 迭代器模式(Iterator Pattern),提供一種方法順序訪問一個彙總對象中元素,而不暴露改集合對象的內部表示。 Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.二、解決的問題(What To Solve)
索引器允許類或結構的執行個體就像數組一樣進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用參數。在下面的樣本中,定義了一個泛型類,並為其提供了簡單的 get 和 set 訪問器方法(作為分配和檢索值的方法)。Program 類為儲存字串建立了此類的一個執行個體。class SampleCollection<T>{private T[] arr = new T[100];public T this[int i] {get {return arr[i];
使用非泛型集合類的限制可以通過編寫一小段程式來示範,該程式利用 .NET Framework 基底類別庫中的 ArrayList 集合類。ArrayList 是一個使用起來非常方便的集合類,無需進行修改即可用來儲存任何引用或實值型別。// The .NET Framework 1.1 way to create a list:System.Collections.ArrayList list1 = new
c#程式剛開始啟動的時候都會有唯一一個入口函數main()函數,而非靜態成員又稱執行個體成員,必須作用於執行個體。在程式剛開始啟動並執行時候,未建立任何執行個體,因此無法調用執行個體成員,包括非靜態Main方法。為了能夠在程式的開始執行Main方法,必須將其聲明為靜態。 順便說明,在Main方法中調用的成員也必須是靜態,除非建立過相應的執行個體。 例如: namespace lover_P.Test { public class Test { public void
“Lambda 運算式”是一個匿名函數,它可以包含運算式和語句,並且可用於建立委託或運算式分類樹類型。所有 Lambda 運算式都使用 Lambda 運算子 =>,該運算子讀為“goes to”。該 Lambda 運算子的左邊是輸入參數(如果有),右邊包含運算式或語句塊。Lambda 運算式 x => x * x 讀作“x goes to x times x”。可以將此運算式分配給委託類型,如下所示: delegate int del(int i);del myDelegate =