c#二維陣列定義並初始化語法結構
變數型別[,] 陣列名 = new 變數型別[一維元素個數,二維元素個數],...}
如定義乙個二維陣列(第一緯長度為2,第二緯長度為3)並初始化:
int[,] a2=new int[,],};
c#陣列簡介
// 定義乙個一維陣列
int array1 = new int[5];
// 定義乙個一維陣列並賦值
int array2 = new int ;
// 替代語法
int array3 = ;
// 定義乙個二維陣列
int[,] multidimensionalarray1 = new int[2, 3];
// 定義二維陣列並賦值: 注意兩個陣列的個數要
int[,] multidimensionalarray2 = , };
// 定一乙個交錯陣列
int jaggedarray =int jaggedarray = new int[6];
// 可定義可變長度的數
jaggedarray[0] = new int[4] ;
jaggedarray[1] = new int ;
陣列具有以下屬性:
陣列可以是一維、多維或交錯的。
數值陣列元素的預設值設定為零,而引用元素的預設值設定為 null。
交錯陣列是陣列的陣列,因此,它的元素是引用型別,初始化為 null。
陣列的索引從零開始:具有 n 個元素的陣列的索引是從 0 到 n-1。
陣列元素可以是任何型別,包括陣列型別。
陣列型別是從抽象基型別 array 派生的引用型別。由於此型別實現了 ienumerable 和 ienumerable)>),因此可以對 c# 中的所有陣列使用 foreach 迭代。
c#二維陣列的兩種初始化方法
方法1:假設乙個初始長度,在對陣列新增元素的時候,你都需要對陣列做邊界檢查,如果陣列尺寸不夠了,你需要建立乙個新的陣列,然後複製原來的陣列到新的陣列。
方法2:初始化第一維長度為0,在每次插入新的原始的時候,都複製乙個新的陣列,使它的長度等於原來陣列長度+1,這裡假定第二維是不變的。
1、列印乙個[4,6]長度的二維陣列:
using system;
class matrix
}for(int i=0;i<4;i++)
",arr[i,j]);
}console.writeline();}}
}2、二維陣列給datatable賦值
[stathread]
static void main(string args),,
,};datatable dttable = new datatable("testdt");
datacolumn mydatacolumn;
mydatacolumn = new datacolumn();
mydatacolumn.datatype = system.type.gettype("system.string");
mydatacolumn.columnname = "col1";
mydatacolumn.caption = "col1";
dttable.columns.add(mydatacolumn);
mydatacolumn = new datacolumn();
mydatacolumn.datatype = system.type.gettype("system.string");
mydatacolumn.columnname = "col2";
mydatacolumn.caption = "col2";
dttable.columns.add(mydatacolumn);
//賦值
for (int i=0;i<4;i++)
、",arrstr[i,j]);
drrow[j] = arrstr[i,j];
}dttable.rows.add(drrow);
dttable.acceptchanges();
console.writeline();
}//讀資料
for (int i=0;i
、",dttable.rows[i][j]);
}console.writeline();
}console.readline();
}二維陣列的初始化的方法
1、分行初紿化
int a[2][5]=,};
這種賦值方法比較直觀,把第乙個花括號內的資料給第一行的元素,第二個花括號內的資料給第二行的元素,
2、不分行初始化
可以將所有資料寫在乙個花括號內,按陣列排列的順序對個元素賦初值。如:int a[2][5]=;
3、部分初始化
int a[2][5]=,};
其餘元素值自動為0。賦初值後陣列各元素為:
1 3 5 0 0
2 4 6 0 0
4、省略行數
對陣列中的全體元素都賦初值時,二維陣列的定義中第一維的長度也可以省略,但二維的長度不能省略。如:
int a[2][3]=;
等價於:int a[3]=;
但不能寫成:int a[2]=;
在分行初始化時,由於給出的初值已清楚的表明了行數和各行中元素的個數,因此第一維的大小可以不定義。如:int b[3]=,,};顯然這是乙個三行三列的陣列,其各元素的值為:
1 0 0
0 2 0
3 2 1
二維陣列中的資料是按行形式存放在記憶體中。
qt 二維陣列初始化 C 陣列初始化方法
定義 int pia new int 10 array of 10 uninitialized ints 此 new 表示式分配了乙個含有 10 個 int 型元素的陣列,並返回指向該陣列第乙個元素的指標,此返回值初始化了指標 pia。在自由儲存區中建立的陣列物件是沒有名字的,只能通過其位址間接地訪...
二維陣列的初始化
1.使用兩個for迴圈定義 for i 1 i n i 2.定義時初始化 int a n m 3.使用函式定義 memset 作用是在一段記憶體塊中填充某個給定的值,它是對較大的結構體或陣列進行清零操作的一種最快方法 memset函式對陣列只能用於置零 0 或置負一 1 操作 include voi...
二維陣列的初始化
1.不分行的初始化,所有陣列元素放在一對 內 1 全部元素初始化 a 2 3 2 部分元素初始化 a 2 3 未初始化的元素預設為0,即a 1 1 0,a 1 2 0。3 省略一維長度下標時的初始化 行下標 a 3 陣列元素個數除以列數,正好除盡,所得的商就是行數。a 3 陣列元素個數除以列數,除不...