伴随.NET 4.0和Visual Studio 2010的发布,Visual Basic 10添加了集合与数组初始值设定项的支持。这些功能与C#的非常类似,它仅是对扩展方法和类型引用作出了少许改进。
创新互联公司-专业网站定制、快速模板网站建设、高性价比贡井网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式贡井网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖贡井地区。费用合理售后完善,10多年实体公司更值得信赖。
集合初始值设定项
和C#一样,Visual Basic的集合初始值设定项用在那些实现了IEnumerable接口并暴露Add方法的类。但与C#不同的是,Add方法可在扩展方法中进行定义。
- var x As new List
() {"Item1", "Item2"} - Dim x As New List(Of String) From {"Item1", "Item2"}
给Add方法传入多个参数也和C#非常类似。
- var x = new Dictionary (){{1, "Item1"}, {2, "Item2"}}
- 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#的方面是异常的处理方式。如果给特定集合添加任何项的时候抛出异常,整个操作都会中止而该集合变量的值也不会改变。
数组初始值设定项
数值初始值设定项现在可支持类型引用,这样大大减少了代码量。正如我们接下来看到的代码那样,花括号中的数组值就需要对数组进行是否创建和类型的推断。
- Dim x = {1, 2, 3}
相比之下,VB早期的版本要求括号为空,用以表示数组。而且,在没有明确指定的情况下,会把该变量定义为对象数组。
- Dim x As Integer() = {1, 2, 3} ‘integer array
- Dim x() = {1, 2, 3} ‘object array
同时支持多维数组和交错数组,尽管后者的语法(每个数组的括号)显得有点笨拙。
- Dim multi = {{1, 2}, {3, 4}}
- Dim jagged()() = {({1, 2}), ({3, 4, 5})}
数组初始值设定项也可以在调用函数中内联使用。
本文题目:VisualBasic10中的集合与数组初始值设定
路径分享:http://www.mswzjz.com/qtweb/news12/196162.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联