|
數組是一種存儲相同類型元素的固定大小順序集合。數組用于存儲數據集合,但一般會將數組視為存儲在連續(xù)存儲器位置的相同類型的變量的集合。 如果要存儲表示100名稱學生的分數,需要獨立地聲明100整數變量。例如:number0.number1...., number100這樣單個獨立變量。而如果使用一個數組變量來表示就省事多了。例如,首先聲明數組:numbers,使用numbers[0],numbers[1]和...,numbers[99]來表示單個變量,數組中的元素可通過索引來訪問。 所有數組是由連續(xù)的內存位置組成。最低的地址對應于第一個元素,而最后一個元素的地址最高。 聲明數組要在 C# 中聲明一個數組,可以使用以下語法: datatype[] arrayName;1復制代碼類型:[csharp] 其中 : datatype : 用于指定數組中元素的類型。 [] : 指定數組序號,rank指定數組的大小。 arrayName : 指定數組的名稱。 例如, double[] balance;1復制代碼類型:[csharp] 初始化數組聲明數組不會將的數組初始化到內存中。將數組變量初始化時,可以為數組指定值。 數組是一個引用類型,因此需要使用new關鍵字來創(chuàng)建數組的實例。 例如, double[] balance = new double[10];1復制代碼類型:[csharp] 數組賦值可以通過使用索引數為各個數組元素分配值,如: double[] balance = new double[10]; balance[0] = 1500.0; balance[1] = 1000.0; balance[2] = 2000.0;1234復制代碼類型:[csharp] 也可以在聲明時為數組指定值,如下所示: double[] balance = { 240.08, 523.19, 121.01};12復制代碼類型:[csharp]還可以在創(chuàng)建時初始化數組,如下所示: int [] marks = new int[5] { 89, 98, 97, 87, 85};12復制代碼類型:[csharp]也可以省略數組的大小,如下所示: int [] marks = new int[] { 100, 97, 96, 97, 95};1復制代碼類型:[csharp]可以將數組變量復制到另一個目標數組變量中。在這種情況下,目標和源都指向相同的內存位置: int [] marks = new int[] { 99, 98, 92, 97, 95};int[] score = marks;12復制代碼類型:[csharp]創(chuàng)建數組時, C# 編譯器會根據數組類型將每個數組元素初始化為默認值。 例如,對于int類型的數組,所有元素都將初始化為0. 訪問數組元素通過索引和數組名稱來訪問數組的元素。這是通過將元素的索引放在數組的名稱后面的方括號內完成的。 例如, double salary = balance[9];1復制代碼類型:[csharp] 以下示例演示了如何聲明,賦值和訪問數組: using System;namespace ArrayApplication{ class MyArray
{ static void Main(string[] args)
{ int [] n = new int[10]; /* n is an array of 10 integers */
int i,j; /* initialize elements of array n */
for ( i = 0; i < 10; i++ )
{
n[ i ] = i + 100;
} /* output each array element's value */
for (j = 0; j < 10; j++ )
{
Console.WriteLine("Element[{0}] = {1}", j, n[j]);
}
Console.ReadKey();
}
}
}12345678910111213141516171819202122232425復制代碼類型:[csharp]當編譯和執(zhí)行上述代碼時,會產生以下結果: Element[0] = 100Element[1] = 101Element[2] = 102Element[3] = 103Element[4] = 104Element[5] = 105Element[6] = 106Element[7] = 107Element[8] = 108Element[9] = 10912345678910復制代碼類型:[csharp] 使用foreach循環(huán)在前面的例子中,我們使用for循環(huán)訪問每個數組元素。還可以使用foreach語句來遍歷數組。參考以下代碼 : using System;namespace ArrayApplication{ class MyArray
{ static void Main(string[] args)
{ int [] n = new int[10]; /* n is an array of 10 integers */
/* initialize elements of array n */
for ( int i = 0; i < 10; i++ )
{
n[i] = i + 100;
} /* output each array element's value */
foreach (int j in n )
{ int i = j-100;
Console.WriteLine("Element[{0}] = {1}", i, j);
}
Console.ReadKey();
}
}
}1234567891011121314151617181920212223242526復制代碼類型:[csharp]當編譯和執(zhí)行上述代碼時,會產生以下結果: Element[0] = 100Element[1] = 101Element[2] = 102Element[3] = 103Element[4] = 104Element[5] = 105Element[6] = 106Element[7] = 107Element[8] = 108Element[9] = 10912345678910復制代碼類型:[csharp] C# 數組類型C# 程序員應該要清楚以下幾個與數組有關的重要概念:
|
|
|