c 陣列賦值

2021-07-05 19:27:47 字數 1080 閱讀 1972

c#中陣列複製有多種方法

陣列間的複製,int pins = ;int alias = pins;這裡出了錯誤,也是錯誤的根源,以上**並沒有出錯,但是根本不是複製,因為pins和alias都是引用,存在於堆疊中,而資料9,3,4,3是乙個int物件存在於堆中,int alias = pins;只不過是建立另乙個引用,alias和pins同時指向,當修改其中乙個引用的時候,勢必影響另乙個。複製的意思是新建乙個和被複製物件一樣的物件,在c#語言中應該有如下4種方法來複製。

方法一:使用for迴圈

int pins =

int copy = new int[pins.length];

for(int i =0;i!=copy.length;i++)

方法二:使用陣列物件中的copyto()方法

int pins =

int copy2 = new int[pins.length];

pins.copyto(copy2,0);

方法三:使用array類的乙個靜態方法copy()

int pins =

int copy3 = new int[pins.length];

array.copy(pins,copy3,copy.length);

方法四:使用array類中的乙個例項方法clone(),可以一次呼叫,最方便,但是clone()方法返回的是乙個物件,所以要強制轉換成恰當的類型別。

int pins =

int copy4 = (int )pins.clone();

方法五:

string student1 = ;

string student2 = ;

arraylist student = new arraylist();   

foreach (string s1 in student1)

foreach (string s2 in student2)

string copyafter = (string)student.toarray(typeof(string));

兩個陣列合併,最後把合併後的結果賦給copyafter陣列,這個例子可以靈活變通,很多地方可以用

C 陣列賦值

情況1 無 如果沒有初始化函式中定義的陣列,則其元素將是不確定的,這意味著元素的值為以前駐留在該記憶體單元中的值。int includeusing namespace std int main system pause return 0 輸出 858993460 2 858993460 858993...

c語言陣列賦值

最近在學c語言,把給陣列賦值的方式總結一下 1 利用malloc include include void main int a a int malloc 2 sizeof int int i 0 int j 1 a 0 i a 1 j int times for times 0 times 2 直...

C字元陣列賦值

舉例如下 char a 10 1 定義的時候直接用字串賦值 char a 10 hello 注意 不能先定義再給它賦值,如 char a 10 a 10 hello 這樣是錯誤的!2 對陣列中字元逐個賦值 char a 10 3 利用strcpy char a 10 strcpy a,hello 易...