應用程式透過索引,執行陣列元素的存取,以下從實際的程式碼來看最簡單的陣列元素存取。
然後宣告變數 a ,透過指定索值 0 將儲存在 arrayInt 陣列的值 100 取出,儲存至變數 a,緊接著宣告變數 b,取出索引位置 1 的值 200 。
輸出結果,顯示變數 a 與 b 的值分是 100 與 200 。
我們透過索引值進行陣列元素的存取,因此只要能控制索引即可進行相關的存取操作,現在利用另外一個範例說明,其中結合迴圈的操作。
接下來的另外一個迴圈,將 intArray 陣列當中的元素逐一取出。最後宣告另外一個字串型態的陣列 strArray ,並且直接進行初始化的動作,最後一組迴圈將其中的元素逐一取出,其中的判斷式引用 Length 屬性取得陣列目前的元素數目,並且作為迴圈的判斷條件值, Length 代表陣列的長度。
以下是輸出結果:
使用 foreach
如果只是單純的想要列舉陣列中的所有元素,使用 foreach 敘述會是比較簡潔的方式,foreach 專門用以讀取陣列中的所有元素,其語法如下所示:
必須注意的是, foreach 語法只能逐一取得陣列中的元素,沒有辦法改變其中所儲存的元素。
class Program { static void Main(string[] args) { int[] arrayInt = new int[2]; arrayInt[0] = 100; arrayInt[1] = 200; int a = arrayInt[0]; int b = arrayInt[1]; Console.WriteLine(a); Console.WriteLine(b); Console.ReadKey(); } }一開始宣告的變數 arrayInt 是一個可以儲存兩個整數的陣列,接下來將整數 100 儲存至索引為 0 的位置,然後再將 200 儲存至至索引為 1 的位置。
然後宣告變數 a ,透過指定索值 0 將儲存在 arrayInt 陣列的值 100 取出,儲存至變數 a,緊接著宣告變數 b,取出索引位置 1 的值 200 。
輸出結果,顯示變數 a 與 b 的值分是 100 與 200 。
我們透過索引值進行陣列元素的存取,因此只要能控制索引即可進行相關的存取操作,現在利用另外一個範例說明,其中結合迴圈的操作。
class Program { static void Main(string[] args) { int[] intArray = new int[10]; for (int i = 0; i < 10; i++) { intArray[i] = i * 10; } Console.WriteLine ("以下列出陣列物件intArray 包含的所有元素值: "); for (int i = 0; i < intArray.Length; i++) { Console.WriteLine ("intArray[{0}] : {1} ", i, intArray[i]); } string[] strArray ={ "這", "是", "陣", "列", "測", "試", "!!"}; Console.WriteLine("以下列出陣列物件strArray 包含的所有元素值: "); for (int i = 0; i < strArray.Length; i++) { Console.WriteLine ("strArray[{0}] : {1} ", i, strArray[i]); } Console.ReadLine(); } }首先宣告一個容量大小等於 10 的 int 型態陣列 intArray ,接下來建立 for 迴圈敘述,其中以迴圈計數值當作索引,將一個指定的數值儲存至陣列。
接下來的另外一個迴圈,將 intArray 陣列當中的元素逐一取出。最後宣告另外一個字串型態的陣列 strArray ,並且直接進行初始化的動作,最後一組迴圈將其中的元素逐一取出,其中的判斷式引用 Length 屬性取得陣列目前的元素數目,並且作為迴圈的判斷條件值, Length 代表陣列的長度。
以下是輸出結果:
以下列出陣列物件 intArray 包含的所有元素值 : intArray[0] : 0 intArray[1] : 10 intArray[2] : 20 intArray[3] : 30 intArray[4] : 40 intArray[5] : 50 intArray[6] : 60 intArray[7] : 70 intArray[8] : 80 intArray[9] : 90 以下列出陣列物件 strArray 包含的所有元素值 : strArray[0] : 這 strArray[1] : 是 strArray[2] : 陣 strArray[3] : 列 strArray[4] : 測 strArray[5] : 試 strArray[6] : !!由於是利用迴圈逐一設定索引值,因此可以連續取出陣列資料,不需要逐一設定,非常方便。
使用 foreach
如果只是單純的想要列舉陣列中的所有元素,使用 foreach 敘述會是比較簡潔的方式,foreach 專門用以讀取陣列中的所有元素,其語法如下所示:
foreach(type objName in collection)這段語法會逐一檢視陣列中所儲存的變數值,並且逐一將其取出,其中的 type 為所要讀取的陣列型態,而 objName 是一個 type 型別變數,代表每一次取得的元素, collection則是所要存取的陣列物件。
必須注意的是, foreach 語法只能逐一取得陣列中的元素,沒有辦法改變其中所儲存的元素。
class Usingforeach { static void Main() { string[] strArray = new string[5]; for (int i = 0; i < 5; i++) { strArray[i] = "value " + i; } Console.WriteLine("以下使用foreach 敘述列出所有元素!! \n"); foreach (string str in strArray) { Console.WriteLine(str); } Console.ReadLine(); } }建立一個大小等於 5 的字串型別陣列,緊接著使用一個 for 敘述句,逐一指定陣列中的元素值。 引用 foreach 述敘句,將陣列中的元素逐一輸出。 以下使用 foreach 敘述列出所有元素 !!
value 0 value 1 value 2 value 3 value 4如你所見, foreach 自動將陣列中的元素逐一取出,使用 foreach 敘述時,型別必須與所要操作的陣列相同。
沒有留言:
張貼留言