在 c# 中宣告乙個陣列,您可以使用下面的語法:
datatype其中,arrayname
;
例如:
doublebalance
;
宣告乙個陣列不會在記憶體中初始化陣列。當初始化陣列變數時,您可以賦值給陣列。
陣列是乙個引用型別,所以您需要使用new關鍵字來建立陣列的例項。
doublebalance
=new
double[10
];
您可以通過使用索引號賦值給乙個單獨的陣列元素,比如:
double您可以在宣告陣列的同時給陣列賦值,比如:balance
=new
double[10
];balance[0
]=4500.0
;
double您也可以建立並初始化乙個陣列,比如:balance
=;
int在上述情況下,你也可以省略陣列的大小,比如:marks
=new
int[5]
;
int您也可以marks
=newint
;
賦值乙個陣列變數到另乙個目標陣列變數中。在這種情況下,目標和源會指向相同的記憶體位置
:
int當您建立乙個陣列時,c# 編譯器會根據陣列型別隱式初始化每個陣列元素為乙個預設值。例如,int 陣列的所有元素都會被初始化為 0。marks
=newint
;int
score
=marks
;
foreach的使用
foreach(type t in arrays)foreach(int act in num)://如下面程式中,遍歷的陣列名為num,陣列型別為int,遍歷出的每個元素為actt:每乙個物件 arrays:需要遍歷的物件陣列
type:需要遍歷每乙個的物件的型別
namespace calculate
foreach(int act in num)
",act);
}console.readline(); }}
}多維陣列:
二維陣列宣告:string變數的二維陣列 string [ , ] names;
int 變數的三維陣列 int [ , , ] num;
陣列初始化 int [ , ] num=new int [3,4]=, , , };
交錯陣列:
交錯陣列是陣列中的陣列,
交錯陣列的宣告:int [ ][ ] scores;
交錯陣列的建立:int [ ][ ] scores=new int [5][ ];
for(int i=0;i傳遞陣列給函式:
通過指定不帶索引的陣列名稱來給函式傳遞乙個指向陣列的指標。
double getval(int [ ] arr); // 引用乙個函式
有時,當宣告乙個方法時,您不能確定要傳遞給函式作為引數的引數數目。c# 引數陣列解決了這個問題,引數陣列通常用於傳遞未知數量的引數給函式。
params 關鍵字
在使用陣列作為形參時,c# 提供了 params 關鍵字,使呼叫陣列為形參的方法時,既可以傳遞陣列實參,也可以只傳遞一組陣列。params 的使用格式為:
public返回型別
方法名稱(
params
型別名稱
陣列名稱
)
定義:class
paramarray
return
sum;
}}
應用:intsum =.
addelements
(512
,720
,250
,567
,889
);
下表列出了 array 類中一些最常用的方法:
序號方法 & 描述
1clear
根據元素的型別,設定陣列中某個範圍的元素為零、為 false 或者為 null。
2copy(array, array, int32)
從陣列的第乙個元素開始複製某個範圍的元素到另乙個陣列的第乙個元素位置。長度由乙個 32 位整數指定。
3copyto(array, int32)
從當前的一維陣列中複製所有的元素到乙個指定的一維陣列的指定索引位置。索引由乙個 32 位整數指定。
4getlength
獲取乙個 32 位整數,該值表示指定維度的陣列中的元素總數。
5getlonglength
獲取乙個 64 位整數,該值表示指定維度的陣列中的元素總數。
6getlowerbound
獲取陣列中指定維度的下界。
7gettype
獲取當前例項的型別。從物件(object)繼承。
8getupperbound
獲取陣列中指定維度的上界。
9getvalue(int32)
獲取一維陣列中指定位置的值。索引由乙個 32 位整數指定。
10indexof(array, object)
搜尋指定的物件,返回整個一維陣列中第一次出現的索引。
11reverse(array)
逆轉整個一維陣列中元素的順序。
12setvalue(object, int32)
給一維陣列中指定位置的元素設定值。索引由乙個 32 位整數指定。
13sort(array)
使用陣列的每個元素的 icomparable 實現來排序整個一維陣列中的元素。
14tostring
返回乙個表示當前物件的字串。從物件(object)繼承。
如需了解 array 類的完整的方法列表,請參閱微軟的 c# 文件。
下面的程式演示了 array 類的一些方法的用法:
usingsystem
;namespace
;int
temp
=list
;console
.write
("原始陣列: "
);foreach
(int
i in
list
)console
.writeline
();// 逆轉陣列
array
.reverse
(temp
);console
.write
("逆轉陣列: "
);foreach
(int
i in
temp
)console
.writeline
();// 排序陣列
array
.sort
(list
);console
.write
("排序陣列: "
);foreach
(int
i in
list
)console
.writeline
();console
.readkey
();}
}}
C 陣列學習
陣列概述c 陣列從零開始建立索引,即陣列索引從零開始。c 中陣列的工作方式與在大多數其他流行語言中的工作方式類似。但還有一些差異應引起注意。宣告陣列時,方括號 必須跟在型別後面,而不是識別符號後面。在c 中,將方括號放在識別符號後是不合法的語法。int table not int table 另一細...
C 陣列學習
陣列概述c 陣列從零開始建立索引,即陣列索引從零開始。c 中陣列的工作方式與在大多數其他流行語言中的工作方式類似。但還有一些差異應引起注意。宣告陣列時,方括號 必須跟在型別後面,而不是識別符號後面。在c 中,將方括號放在識別符號後是不合法的語法。int table not int table 另一細...
c 學習 陣列
int a 10 是個元素,在windows下回報錯,linux會輸出乙個隨機數 int a 10 初始化,其他的為0 陣列越界 為了調高效率,編譯器不會對陣列越界做檢查 include using namespace std intmain int a 10 自動生成乙個指標,該指標指向陣列的第乙...