在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的感觉