.Net Framework數(shù)組相關(guān)操作技巧分享
.Net Framework的推出改變了開發(fā)人員以前的編程習(xí)慣。為開發(fā)人員提供了一個功能非常強大的開發(fā)環(huán)境。.Net Framework數(shù)組是分配在托管堆上的引用類型,并且應(yīng)用程序中的數(shù)組變量包含的是一個指向數(shù)組的引用,而非數(shù)組本身。#t#
C#支持交錯數(shù)組
- Point[][] myPolygons = new Point[2][];
- myPolygons[0] = new Point[10];
- myPolygons[1] = new Point[30];
對于引用類型的.Net Framework數(shù)組,且維數(shù)相同,CLR允許它們進(jìn)行類型轉(zhuǎn)換。
CLR不允許將元素為值類型的數(shù)組轉(zhuǎn)型為任何其他類型,但可以使用Array.Copy,創(chuàng)建一個新數(shù)組來達(dá)到期望的效果。
- Int32 [] music=new Int32[4];
- Object[] mymusic = (Object[]) music;
- //error
- Object[] mymusic=new Object[music.length]
- Array.Copy(music,mymusic,music.length);
- //Copy方法不僅能進(jìn)行拷貝,而且還能在拷貝
每一個元素時進(jìn)行相應(yīng)的類型轉(zhuǎn)換
Array.Copy方法執(zhí)行的是淺拷貝,若源數(shù)組中的元素是引用類型,要獲得一個深拷貝,則每個元素的類型都要實現(xiàn)Icloneable接口。
我們可以通過調(diào)用Array的靜態(tài)方法CreateInstance來動態(tài)地創(chuàng)建.Net Framework數(shù)組。