VB2010新特性之集合和字典的初始化语句

在VB中我们可以通过以下语句去定义并初始化一个数组

Dim i = {1, 2, 3, 4}

那我们能不能通过这样的语句去定义并初始化集合呢?VB2010给出了肯定的答案

这是个很好的特性,基于一些Linq操作,VB也可以像函数式语言操作“表”一样,在数组上进行一些眼花缭乱的算法了。同时,List(Of T)和Dictionary(Of TKey, TValue)类型也可以用类似的表达式初始化。暂定关键字为From

    Dim l As New List(Of Integer) From {1, 2, 3, 4}        Dim countryRegex As New Dictionary(Of String, Regex) From {          {"USA", New Regex("^[2-9]\\d{2}-\\d{3}-\\d{4}$")},          {"UK", New Regex("(^1300\\d{6}$)|(^1800|1900|1902\\d{6}$)|(^0[2|3|7|8]{1}[0-9]{8}$)|(^13\\d{4}$)|(^04\\d{2,3}\\d{6}$)")},          {"Netherlands", New Regex("(^\\+[0-9]{2}|^\\+[0-9]{2}\\(0\\)|^\\(\\+[0-9]{2}\\)\\(0\\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\\-\\s]{10}$)")}          }

呵呵,看着这些大括号,VB给人C的感觉

不允许评论