鋸齒數組:鋸齒數組就是數組的數組。例如:
Int[] a=new int[][]{
New int[]{1,1,1};
New int[]{23,12};
}
2.Out與ref:将數組作為參數傳遞時,在調用函數之前不需要初始化out參數,但調用的函數必須在傳回前配置設定數組類型。而且,ref參數必須在函數調用之前配置設定。
3. 枚舉數(enumerator):
它是一個對象,可以通過它對集合項進行便利。枚舉數隻能讀取但不能改變集合的至。在執行個體化後,會被放在集合第一個元素之前。如果不調用movenexe就直接使用current通路的話會出錯。當枚舉數到達集合的末尾時,會停留在集合的最後一個元素後面,并傳回假。如果此時繼續使用current也會出錯。
主要方法屬性:
current傳回集合中的目前對象;
Movenext将枚舉項後移一項;
Reset将枚舉數移到初始位置。
4.幾種常用的集合:
A.Arraylisy:使用add,remove等對元素進行操作。
View Code
B.Stack:是一種後進先出結構。有push。Pop。peek三種方法。
C.Hashtable:這是一種鍵值對集合。該集合與前面的兩種集合不太一樣,我寫了段簡單代碼試了一下,發現了一下幾點:
首先他得到的并不是原來輸入的順序,而是進行散列後的值;
還有使用枚舉數的時候不再是Ienumerator,而是IdictionaryEnumerator;
最後,在使用枚舉數讀取值的時候不再是en.current,而是en.value。
D.Bitarray:一組真假值的集合。周遊的方法與arraylist以及stack相同。
要注意以下幾點:
首先bitarray執行個體化時必須聲明其長度;
其次,為其添加元素時用的方法是set;
最後,周遊時使用的枚舉數仍未Ienumerator。
E.Sortedlist:這種用法和hashtable與arraylist有點像。
首先,添加元素用的是ADD方法,添加的是鍵值對;
其次,周遊時使用的枚舉數和Hahstable比較像。讀取的時候既可以根據鍵值讀取,也可以根據索引值讀取。
F:queue:這是一種先進先出隊列結構。入隊方法為enqueque ,出隊方法為dequeque。枚舉數周遊方式使用Ienumerator,
<a></a>
protected static void queue()
{
Queue q = new Queue();
for (int i = 0; i < 5; i++)
q.Enqueue(i.ToString());
enumerator(q );
q.Dequeue();
enumerator(q);
}
protected static void enumerator(Queue q)//使用枚舉數周遊queue集合
IEnumerator en = q.GetEnumerator();
while (en.MoveNext()){
Console.Write(en.Current);
Console.WriteLine();}