C#中數組是引用類型

C#中數組是引用類型,C#定義整型數組方式是:int [] intArray = {1,2,3};或int [] intArray = new int;而C++中定義整型數組的方式是:int intArray[] = {1,2,3};或int * intArray = new int;C#中的數組可以是一維的也可以是多維的,同樣也支持矩陣和參差不齊的數組。注意:定義多維數組(矩陣)的方式是[,,]而定義多維“參差矩陣”的方式是[][]。另外,new關鍵字的使用並不一定表示對象是動態分配的(進入棧中)。
下面是C#中(一維)多維數組常見的定義方式:
int []a1; //定義一維數組
int [,]a2; //定義二維數組
int [,,]a3; //定義三維數組
int []a1 = new int ; //定義一維數組深度
int [,]a2 = new int [10,20]; //定義二維數組深度
int [,,]a3 = new int [10,20,30]; //定義三位數組深度
int []a1 = new int []{1,2,3}; //初始化
int [,]a2 = new int [,]{{1,2,3},{4,5,6}};
還可以定義“參差不齊”的數組:
int [][]var = new int [];
var[0] = new int[]{1,2,3};
var = new int[]{1,2,3,4,5,6};
var = new int[]{1,2,3,4,5,6,7,8,9};
注意,int [,]a和int [][]a的區別:前者定義了一個二維固定數組,後者定義了一個二維可變數組。只是它們都還沒被分配空間和初始化。int [][]var = new int;是錯誤的。
以下錯誤:
class Test
{
static void F(int []arr){}
static void Main()
{
F({1,2,3});//出錯!{1,2,3}並非有效表達式。
}
}
以下正確:
class Test
{
statci void F(int []arr){}
static void Main()
{
F(new int []{1,2,3});
}
}
發佈了25 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章