首頁  >  文章  >  後端開發  >  c#數組詳解

c#數組詳解

黄舟
黄舟原創
2016-12-17 17:33:271311瀏覽

數組是一種資料結構,其宣告方式如下:

type[] arrayName;

數組具有以下屬性:

    1.數組可以是一維、多維或交錯的。 
    2.數值數組元素的預設值設為零,而引用元素的預設值設定為 null。 
    3.交錯數組是數組的數組,因此,它的元素是引用型,初始化為 null。 
    4.陣列的索引從零開始:具有 n 個元素的陣列的索引是從 0 到 n-1。 
    5.陣列元素可以是任何類型,包括陣列類型。

一維數組

//声明一维数组,没有初始化,等于null 
  int[] intArray1; 
  //初始化已声明的一维数组 
  intArray1 = new int[3]; //数组元素的默认值为0 
  intArray1 = new int[3]{1,2,3}; 
  intArray1 = new int[]{1,2,3}; 
   
 
  //声明一维数组,同时初始化 
  int[] intArray2 = new int[3]{1,2,3}; 
  int[] intArray3 = new int[]{4,3,2,1}; 
  int[] intArray4 = {1,2,3,4}; 
  string[] strArray1 = new string[]{"One","Two","Three"}; 
  string[] strArray2 = {"This","is","an","string","Array"};

多維數組

//声明二维数组,没有初始化 
 short[,] sArray1; 
 //初始化已声明的二维数组 
 sArray1 = new short[2,2]; 
 sArray1 = new short[2,2]{{1,1},{2,2}}; 
 sArray1 = new short[,]{{1,2,3},{4,5,6}}; 
  
 //声明二维数组,同时初始化 
 short[,] sArray2 = new short [1,1]{{100}}; 
 short[,] sArray3 = new short [,]{{1,2},{3,4},{5,6}}; 
 short[,] sArray4 = {{1,1,1},{2,2,2}}; 
 //声明三维数组,同时初始化 
 byte[,,] bArray1 = {{{1,2},{3,4}},{{5,6},{7,8}}};

交錯數組

//声明交错数组,没有初始化 
 int[][] JagIntArray1; 
 //初始化已声明的交错数组 
 JagIntArray1 = new int [2][] { 
     new int[]{1,2}, 
     new int[]{3,4,5,6} 
    }; 
 JagIntArray1 = new int [][]{ 
      new int[]{1,2}, 
     // new int []{3,4,5}, 
      intArray2 //使用int[]数组变量 
     }; 
 //声明交错数组,同时初始化 
 int[][] JagIntArray2 = { 
     new int[]{1,1,1}, 
     //new int []{2,2}, 
     intArray1 
     };

數組即是一組相同類型組合在一起,使用一個通用的名稱,透過分配的下標存取的資料集合中的元素。

數組是具有相同類型的一組資料。當存取數組中的資料時,可以透過下標來指明。 c#中數組元素可以為任何資料類型,數組下標從0開始,即第一個元素對應的下標為0,以後逐一遞增。數組可以一維也可多維。

一維數組是最基本的數組類型,其聲明方法如下:

資料型別[ ] 數組名稱;

舉例:
int [ ] anArray ; // 宣告一個整數型的一維數組

int [ ] anArray ; // 宣告一個整數型的一維數組

int個維度的陣列是二維數組,其宣告方法如下:

資料型別[ , ] 陣列名稱;

舉例:

int [ , ] anArray ; // 宣告一個整數的二維陣列

float [ , ]anArrayOfloatsFloats ; // 宣告一個浮點型的二維數組

string [ , ] anArrayOfStrings; // 宣告一個字串型的二維數組

聲明數組變數時,還沒有創建數組,還沒有為數組中元素分配任何記憶體空間,因此,宣告數組後,需要對數組實例化:

anArray = new int [2,4] ;

anArrayOfStrings = new stirng [2,4] ;

我們也可以用給定的值對數組元素進行初始化。

int [, ] anArray = new int [2, 4] {{1,2,3,4},{5,6,7,8}};

string [, ] anArrayOfStrings = new string [2, 2 ] {{"某甲","某乙"}, {"冠軍" ,"亞軍" }};

也可使用下列快捷方式:

int [, ] anArray = {{0,1,2, 3},{1,2,3,4}};

string [, ] anArrayOfStrings = {{"某甲","某乙"}, {"冠軍" ,"亞軍" }};

在C#語言中,數組為我們提供了一些有用的特性,利用這些特性,我們可以完成一些更高級的功能。
數組名.Length :傳回一個整數,該整數表示該數組的所有維數中元素的總數。

數組名.Rank :傳回一個整數,該整數表示該數組的維數。

數組名.GetLength(int dimension) :傳回一個整數,該整數表示該數組的指定維(由參數dimension指定,維度從零開始)中的元素個數。

4.foreach語句針對數組或集合中的每一個元素,循環運行嵌入語句。
foreach語句的語法格式為:

foreach (資料型別識別字in 運算式)

嵌入語句

//包含6個元素的一維整數陣列; 

int[] mf1=new int[6]; //注意初始化數組的範圍,或指定初值;

//包含6個元素的一維整數數組,初值1,2,3,4,5,6 
int[] mf2=new int[6]{ 1,2,3,4,5,6};
 

//一維字串陣列,如果提供了初始值設定項,則也可以省略new 運算子 

string[] mf3={"c", "c++","c#"};

//一維物件陣列 
Object[] mf4 = new Object[5] { 26, 27, 28, 29, 30 };
 
//二維整數數組,初始整數數組值mf5[0,0]=1,mf5[0,1]=2,mf5[1,0]=3,mf5[1,1]=4 
int[,] mf5=new int[,]{{ 1,2},{3,4}};
 

//6*6的二維整數陣列 

int[,] mf6=new mf[6,6];

下面來看一個一維字串陣列的遍歷

using System; 
public class MikeCat 
{ 
static void PrintArray(string[] arr) 
{ 
//打印数组元素,arr.Length 表示数组元素的个数 
for(int i=0;i<arr.Length;i++) 
{ 
Console.WriteLine("arr[{0}]={1}",i,arr[i]); 
} 
} 
public static void Main() 
{ 
string[] arr={"c","c++","c#"}; 
//将数组作为一个参数传递 
PrintArray(arr); 
} 
}

程式結果:arr[0]=c arr[1]=c++ arr[2]=c#

下面來看一個4行2列(4*2)的整數陣列的遍歷:

using System; 
public class MikeCat 
{ 
static void PrintArray(int[,] arr) 
{ 
//通过两次FOR循环遍历二维数组 
for(int i=0;i<4;i++)//初始化i作为循环变量,i++实现该变量的自增运算。 
//for循环满足条件后执行完循环体一次后执行i++,然后进入下次循环。简单的c语法,这里做简单介绍供初学者学习。(详细可参阅《c# 高级编程4.0》一书) 
{ 
for(int j=0;j<2;j++) 
{ 
Console.WriteLine("arr[{0},{1}]={2}",i,j,arr[i,j]);//打印每个二维数组元素 
} 
} 
} 
public static void Main() 
{ 
//主函数 
//将数组作为一个参数传递 
PrintArray(new int[,]{{1,2},{3,4},{5,6},{7,8}}; 
} 
}

 以上就是c#陣列詳解的內容,更多相關文章請關注PHP中文網(www.php.cn)! 

🎜🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn