[讀書筆記 ]Stephens' C# Programming with Visual Studio 2010 24-Hour Trainer 第十六章

  • 1055
  • 0

閱讀Stephens' C#教材第十六章筆記

 

Chapter 16 Using Arrays and Collections.
 
過去章節所介紹的變數都只能存放單一筆資料,可能是數值(Integer)、字串(String)或是指標(Point)。本章要介紹可以存放不只一筆資料的變數,它的名稱除了Array之外,還有List, Dictionart, Stack, Queue等集合(Collection)類別。
 
Array(台灣稱為陣列,大陸稱為數組)是一群具有索引(index)的相同類型資料,儲存在同一名稱的變數中,索引通常由0或大於0的整數開始。
 
Array的最小與最大索引有個特殊名詞叫 lower bound及upper bound,預設lower bound為0,而upper bound則為Array長度減1(array.length-1)。
 
陣列建立步驟如下:
宣告  int[] values;
初始化  values = new int[2];
 
同時宣告陣列並初始化  
int[] values = new int[2];
 
陣列的資料存入
values[0] = 0;
values[1] = 1 * 1;
 
同時宣告陣列、初始化並資料存入
int[] values = {0, 1};
 
 
Fibonacci程式示範使用array進行費波那西數列的計算(本程式只到19有效)
 
多維陣列是組合多個一維陣列的陣列,基本上也是陣列,但是索引不只一位。
例如一個有八欄四列的陣列
宣告陣列並初始化  
int[,] values = new int[3,4];
資料範圍包含
values[0,0], values[0,1], values[0,2], values[0,3]
values[1,0], values[1,1], values[1,2], values[1,3]
values[2,0], values[2,1], values[2,2], values[2,3]
 
陣列常用的方法,書上列有BirnarySearch, Clear, Copy, IndexOf, LastIndexOf, Resize, Reverse, Sort,完整的的方法與屬性,請參考微軟網頁
 
Factorial程式示範使用array進行階乘的計算(本程式只到19有效)
 
DayPlanner程式示範array中索引與值的對應關係
 
對比array使用index進行存取,.Net Framkwork提供一種集合類別(Collection classes)用其他的方式存取其中的資料。
例如Dictionary使用key快速尋找資料,關於集合類別的介紹可參考魚小章寫的一般/泛型 Generic Collection 集合型別介紹
 
書上集合類別介紹了泛型 Generic class、List、SortedList、Dictinoary、Queue及Stack六種,都只有很半頁不到的介紹,詳細請看微軟網站
 
StackDemo程式示範使用Stack的Push和Pop的操作
 
QueueDemo程式示範使用Stack的Enqueue和Dequeue的操作
 
Appointments程式示範使用Dictionary進行新增修改及尋找的操作
 
TRY IT中示範如何設計出圖中的程式,以Dictionary進行新增修改及尋找的操作