新聞中心
學(xué)習(xí)C#數(shù)組時,經(jīng)常會遇到C#數(shù)組初始化問題,這里將介紹C#數(shù)組初始化問題的解決方法。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供象州網(wǎng)站建設(shè)、象州做網(wǎng)站、象州網(wǎng)站設(shè)計、象州網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、象州企業(yè)網(wǎng)站模板建站服務(wù),十余年象州做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
C#數(shù)組初始化
1、int[] iArray = new int[3]{2, 3, 4} 花括號被稱為數(shù)組初始化器,數(shù)組初始化器只能在聲明數(shù)組變量時使用,不能在聲明數(shù)組之后使用C#數(shù)組初始化,還可以不指定數(shù)組的大小 int[] iArray = new int[]{2, 3, 4} 編譯器會自動計算,使用C#編譯器還有一種更簡化的形式 int[] iArray = {2, 3, 4};
2、分清數(shù)組維數(shù)和每一維長度(上下界)的區(qū)別;
3、用括號聲明數(shù)組是C#中使用Array類的記號,在后臺使用C#語法,會創(chuàng)建一個派生于基礎(chǔ)Array的新類。這樣,就可以使用Array類為每個C#數(shù)組定義的方法和屬性了。例如Length屬性,還可以使用foreach語句迭代數(shù)組,其實這是使用了Array類中的GetEnumerator()方法,或者說在Array類中實現(xiàn)了枚舉器。
4、Array類是一個抽象類,不能使用構(gòu)造函數(shù)來創(chuàng)建數(shù)組,但除了可以使用C#語法創(chuàng)建數(shù)組實例外,還可以使用它的CreateInstance()靜態(tài)方法創(chuàng)建數(shù)組,如果事先不知道元素類型,或者想創(chuàng)建索引不基于0的數(shù)組,就可以使用改靜態(tài)方法。
5、數(shù)組是引用類型,所以將一個數(shù)組賦予另一個數(shù)組變量,就會得到兩個指向同一個數(shù)組的變量。而復(fù)制數(shù)組實現(xiàn)ICloneable接口。這個接口定義的Clone()方法會創(chuàng)建(無需創(chuàng)建新數(shù)組則使用CopyTo方法或Array.Copy())一個數(shù)組的淺副本,也就是說,如果數(shù)組元素是值類型,就會復(fù)制所有的值,如果數(shù)組包含的是引用類型,則不復(fù)制元素本身,而只是復(fù)制引用。如果需要包含引用類型的數(shù)組的深副本,就必須迭代數(shù)組,創(chuàng)建新對象。
6、Array類實現(xiàn)了對數(shù)組中元素的冒泡排序。Sort()方法需要數(shù)組中的元素實現(xiàn)IComparable接口。簡單類型,如String和Int32實現(xiàn)了IComparable接口(升序)。調(diào)用語法為Array.Sort(...)
7、類對象如果需要在數(shù)組或集合中能夠被排序,就必須實現(xiàn)ICompable接口,這個接口定義了一個方法CompareTo();但如果排序的方式比較復(fù)雜,如需要對哪個字段進(jìn)行排序,是升序還是降序,或者不能修改類的定義,則可以針對該類定義一個IComparer接口,在調(diào)用數(shù)組或集合的Sort()方法時執(zhí)行它,IComparer接口定義了Compare()方法。
8、Array類實現(xiàn)了IEumerable、ICollection和IList接口,ICollection接口派生于IEnumerable,IList派生于ICollection。以上介紹C#數(shù)組初始化。
文章標(biāo)題:C#數(shù)組初始化概括
轉(zhuǎn)載來于:http://m.fisionsoft.com.cn/article/cceghsj.html


咨詢
建站咨詢
