C 陣列學習

2021-08-01 08:37:08 字數 4012 閱讀 2642

在 c# 中宣告乙個陣列,您可以使用下面的語法:

datatype

arrayname

;

其中,

例如:

double

balance

;

宣告乙個陣列不會在記憶體中初始化陣列。當初始化陣列變數時,您可以賦值給陣列。

陣列是乙個引用型別,所以您需要使用new關鍵字來建立陣列的例項。

double

balance

=new

double[10

];

您可以通過使用索引號賦值給乙個單獨的陣列元素,比如:

double

balance

=new

double[10

];balance[0

]=4500.0

;

您可以在宣告陣列的同時給陣列賦值,比如:

double

balance

=;

您也可以建立並初始化乙個陣列,比如:

int

marks

=new

int[5]

;

在上述情況下,你也可以省略陣列的大小,比如:

int

marks

=newint

;

您也可以

賦值乙個陣列變數到另乙個目標陣列變數中。在這種情況下,目標和源會指向相同的記憶體位置

int

marks

=newint

;int

score

=marks

;

當您建立乙個陣列時,c# 編譯器會根據陣列型別隱式初始化每個陣列元素為乙個預設值。例如,int 陣列的所有元素都會被初始化為 0。

foreach的使用

foreach(type t in arrays)  

t:每乙個物件 arrays:需要遍歷的物件陣列

type:需要遍歷每乙個的物件的型別

foreach(int act in num)://如下面程式中,遍歷的陣列名為num,陣列型別為int,遍歷出的每個元素為act

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 類的一些方法的用法:

using

system

;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 自動生成乙個指標,該指標指向陣列的第乙...