Visual Basic 10中的集合与数组初始值设定
创始人
2024-06-09 19:40:32
0

伴随.NET 4.0和Visual Studio 2010的发布,Visual Basic 10添加了集合与数组初始值设定项的支持。这些功能与C#的非常类似,它仅是对扩展方法和类型引用作出了少许改进。

集合初始值设定项

和C#一样,Visual Basic的集合初始值设定项用在那些实现了IEnumerable接口并暴露Add方法的类。但与C#不同的是,Add方法可在扩展方法中进行定义。

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

给Add方法传入多个参数也和C#非常类似。

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

C#语法中会有轻微的歧义现象,这使得它可用把属性初始值设定项和对象初始值设定项联系起来。通过使用关键字With和From,有人可能会假定VB能克服这方面的限制,把两个初始值设定写在同一条语句中。不幸的是,情况并没那么简单,以下的句子就会出现语法问题:

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

另一个VB学习C#的方面是异常的处理方式。如果给特定集合添加任何项的时候抛出异常,整个操作都会中止而该集合变量的值也不会改变。

数组初始值设定项

数值初始值设定项现在可支持类型引用,这样大大减少了代码量。正如我们接下来看到的代码那样,花括号中的数组值就需要对数组进行是否创建和类型的推断。

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

相比之下,VB早期的版本要求括号为空,用以表示数组。而且,在没有明确指定的情况下,会把该变量定义为对象数组。

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

同时支持多维数组和交错数组,尽管后者的语法(每个数组的括号)显得有点笨拙。

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

数组初始值设定项也可以在调用函数中内联使用。

 

【编辑推荐】

  1. 全面分析Visual Basic使用技巧
  2. Visual Basic动态数据驱动程序浅析
  3. Visual Studio 2010中的Visual Basic和C#语言
  4. Visual Basic与PHP的暗战
  5. Visual Basic 10介绍

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...