溫馨提示×

溫馨提示×

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

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

如何實現(xiàn)Visual Basic 10中的集合與數(shù)組初始值設(shè)定

發(fā)布時間:2022-01-11 10:26:22 來源:億速云 閱讀:130 作者:柒染 欄目:編程語言

這篇文章給大家介紹如何實現(xiàn)Visual Basic 10中的集合與數(shù)組初始值設(shè)定,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

伴隨.NET 4.0和Visual Studio 2010的發(fā)布,Visual Basic 10添加了集合與數(shù)組初始值設(shè)定項的支持。這些功能與C#的非常類似,它僅是對擴(kuò)展方法和類型引用作出了少許改進(jìn)。

集合初始值設(shè)定項

和C#一樣,Visual Basic的集合初始值設(shè)定項用在那些實現(xiàn)了IEnumerable接口并暴露Add方法的類。但與C#不同的是,Add方法可在擴(kuò)展方法中進(jìn)行定義。

var x As new List<String>() {"Item1", "Item2"}  Dim x As New List(Of String) From {"Item1", "Item2"}

給Add方法傳入多個參數(shù)也和C#非常類似。

var x = new Dictionary(){{1, "Item1"}, {2, "Item2"}}  Dim x As New Dictionary(Of Integer, String) From {{1, "Item1"}, {2, "Item2"}}

C#語法中會有輕微的歧義現(xiàn)象,這使得它可用把屬性初始值設(shè)定項和對象初始值設(shè)定項聯(lián)系起來。通過使用關(guān)鍵字With和From,有人可能會假定VB能克服這方面的限制,把兩個初始值設(shè)定寫在同一條語句中。不幸的是,情況并沒那么簡單,以下的句子就會出現(xiàn)語法問題:

Dim x as New List(Of Integer) With {.Capacity = 10} From {1,2,3}

另一個VB學(xué)習(xí)C#的方面是異常的處理方式。如果給特定集合添加任何項的時候拋出異常,整個操作都會中止而該集合變量的值也不會改變。

數(shù)組初始值設(shè)定項

數(shù)值初始值設(shè)定項現(xiàn)在可支持類型引用,這樣大大減少了代碼量。正如我們接下來看到的代碼那樣,花括號中的數(shù)組值就需要對數(shù)組進(jìn)行是否創(chuàng)建和類型的推斷。

Dim x = {1, 2, 3}

相比之下,VB早期的版本要求括號為空,用以表示數(shù)組。而且,在沒有明確指定的情況下,會把該變量定義為對象數(shù)組。

Dim x As Integer() = {1, 2, 3} ‘integer array  Dim x() = {1, 2, 3} ‘object array

同時支持多維數(shù)組和交錯數(shù)組,盡管后者的語法(每個數(shù)組的括號)顯得有點笨拙。

Dim multi = {{1, 2}, {3, 4}}  Dim jagged()() = {({1, 2}), ({3, 4, 5})}

數(shù)組初始值設(shè)定項也可以在調(diào)用函數(shù)中內(nèi)聯(lián)使用。

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

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

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

AI