溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#中如何初始化數(shù)組

發(fā)布時間:2021-08-12 15:47:27 來源:億速云 閱讀:163 作者:Leah 欄目:編程語言

這篇文章給大家介紹C#中如何初始化數(shù)組,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

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ù)雜,如需要對哪個字段進行排序,是升序還是降序,或者不能修改類的定義,則可以針對該類定義一個IComparer接口,在調(diào)用數(shù)組或集合的Sort()方法時執(zhí)行它,IComparer接口定義了Compare()方法。

8、Array類實現(xiàn)了IEumerable、ICollection和IList接口,ICollection接口派生于IEnumerable,IList派生于ICollection。以上介紹C#數(shù)組初始化。

關(guān)于C#中如何初始化數(shù)組就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI