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