一、數組
1、變量是程序運行是在內存中存儲發生變化的容器;
2、變量可以存儲單個數據,而數組可以存儲多個變量,並且互不影響,和諧共處;
3、數組的特點:長度固定、類型相同;
4、數組用於存儲長度固定,類型相同變量的容器
二、數組的分類:
一維數組、二維數組、多維數組、不規則數組
三、數組的應用:
創建、賦值、應用
四、聲明數組:
//定義一個已知長度的一維數組 int[] arr = new int[100];
//定義一個未知長度,直接賦值的數組 string[] name1 = new string[]{"張三",“李四”,“王五”}
五、C#多維數組
1、C#支持多維數組。多維數組又稱為矩陣數組。
2、聲明一個string變量的二維數組
string [,] names;
3、聲明一個int變量的三維數組:
int [ , , ] m;
4、二維數組
多維數組最簡單的形式就是二維數組。一個二維數組,在本質上,是一個一維數組的列表。一個二維數組可以被認為是一個帶有X
行和Y列的表格。下面是一個二維數組,包含3行4列:
Column0 Column1 Column2 Column3
a[0][0] | a[0][1] | a[0][2] | a[0][3] |
a[1][0] | a[1][1] | a[1][2] | a[1][3] |
a[2][0] | a[2][1] | a[2][2] | a[2][3] |
因此,數組中的每個元素是使用形式為a[i][j]的元素名稱來標識的,其中a是數組的名稱,i和j是唯一標識a中每個元素的下標。
5、初始化二維數組
多維數組可以通過在括號內為每行指定值來進行初始化。下面是一個帶有3行4列的數組:
int [,] a = new int [3,4]{ {0,1,2,3}, /*初始化索引號為0的行*/ {4,5,6,7}, /*初始化索引號為1的行*/ {8,9,10,11}}; /*初始化索引號為2的行*/
6、訪問二維數組元素
二位數組中的元素是通過使用下標(即數組的行索引和列索引)來訪問。例如:
int val = a[2,3];
上面的語句將獲取數組中第三行第四個元素。
下面是使用循環來處理二維數組:
using System; namespace ArrayAppLication { Class MyArray { static void Main(string[] args) { /*一個帶有5行2列的數組*/ int[,] a = new int[5,2]{{0,0},{1,2},{2,4},{3,6},{4,8}}; int i,j; //定義兩個循環變量 /*輸出數組中每個元素的值*/ for(i=0;i<5;i++) { for(j=0;j<2;j++) { Console.WriteLine("a[{0},{1}] = {2}",i,j,a[i,j]); } } Console.ReadKey(); } } }
7、C#交錯數組
交錯數組是數組的數組。你可以聲明一個帶有int值得交錯數組 Scores,如下所示:
int [][] scores;
聲明一個數組不會在內存中創建數組。創建上面得數組:
int [][] scores = new int[5][];
for(int i =0; i < scores.Length; i++)
{
scores[i] = new int[i+2];
}
你可以初始化一個交錯數組,如下所示:
int [][] scores = new int[2][]{new int[]{92,93,94},new int []{85,66,84,88}};\
其中,scores是一個由兩個整形數組組成得數組——scores[0]是一個帶有3個整數得數組,scores[1]是一個帶有4個正數得數組
8、C#Array類
Array類是C#中所有得數組得基類,它是在System命名空間中定義。
Array類提供了各種用於數組得屬性和方法。
Ayyay類的屬性:
IsFixedSize:獲取一個值。該值指示數組是否帶有固定大小。
IsReadOnly:獲取一個值,該值指示數組是否只讀;
Length:獲取一個32位整數,該值表示所有維度的數組中的元素總數;
LongLength:獲取一個64位整數,該值表示所有維度的數組中的元素整數;
Rank:獲取數組的秩(維度);
Array類的方法:
Clear:根據元素的類型,設置數組中某個范圍的元素為0、為false或者為null;
Copy(Array,Array,Int32):從數組的第一個元素開始復制某個范圍的元素到另一個數組的第一個元素位置。
長度由一個32位整數指定;
CopyTo(Array,Int32):從當前的一維數組中復制所有的元素到一個指定的一維數組的指定索引位置。索引由
一個32位整數指定;
GetLength:獲取一個32位整數,該值表示指定維度的數組中的元素整數;
GetLongLength:獲取一個64位整數,該值表示指定維度的數組中的元素總數;
GetLowerBound:獲取數組中指定維度的下界;
GetType:獲取當前實例的類型。從對象(Object)繼承;
GetUpperBound:獲取數組中指定維度的上界;
GetValue(Int32): 獲取一維數組中指定位置的值。索引由一個32位整數指定;
IndexOf(Array,Object): 搜索指定的對象,返回整個一維數組中第一次出現的索引;
Reverse(Array): 逆轉整個一維數組中元素的順序;
SetValue(Object,Int32):給一維數組中指定位置的元素設置值。索引由一個32位整數指定。
Sort(Array):使用數組的每個元素的IcomOarable實現來排序整個一維數組中的元素;
ToString:返回一個表示當前對象的字符串。從對象(Object)繼承
Array類的方法的用法: