自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Visual Basic 10中的集合與數(shù)組初始值設(shè)定

開發(fā) 后端
Visual Basic 10新增與C#非常類似的集合與數(shù)組初始化值設(shè)定項的支持,這項新特性可以方便的對方法擴展和類型引用。

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

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

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

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

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

  1. var x = new Dictionary(){{1, "Item1"}, {2, "Item2"}}  
  2. Dim x As New Dictionary(Of IntegerString) 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學習C#的方面是異常的處理方式。如果給特定集合添加任何項的時候拋出異常,整個操作都會中止而該集合變量的值也不會改變。

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

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

  1. Dim x = {1, 2, 3} 

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

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

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

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

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

 

【編輯推薦】

  1. 全面分析Visual Basic使用技巧
  2. Visual Basic動態(tài)數(shù)據(jù)驅(qū)動程序淺析
  3. Visual Studio 2010中的Visual Basic和C#語言
  4. Visual Basic與PHP的暗戰(zhàn)
  5. Visual Basic 10介紹
責任編輯:佚名 來源: InfoQ
相關(guān)推薦

2023-11-19 20:49:18

C++14C++

2013-01-16 16:50:31

產(chǎn)品設(shè)計初始值

2009-09-11 10:01:57

Linq對象初始值

2009-09-02 16:21:17

Visual BasiC#語言

2011-08-25 13:59:45

Access自增長字段SQL Server

2010-05-14 12:00:36

2009-10-19 15:07:17

Visual Basi

2020-03-16 09:25:10

微軟瀏覽器Windows

2009-08-26 17:10:09

C# 3.5新特性

2009-10-19 14:19:24

Visual Basi

2022-10-21 08:02:40

reduce?初始值循環(huán)

2009-03-11 10:00:50

Windows 7VB

2009-12-10 14:11:54

Visual Basi

2016-04-08 08:55:42

C#Visual Basi分道揚鑣

2009-10-09 17:33:11

VB.NET

2009-10-09 17:16:53

VB.NET

2020-02-12 18:55:24

負載因子初始值為什么

2023-03-10 08:07:39

數(shù)據(jù)結(jié)構(gòu)算法計數(shù)排序

2019-11-04 13:50:36

Java數(shù)組編程語言

2009-12-11 14:50:14

Visual Basi
點贊
收藏

51CTO技術(shù)棧公眾號