将C#转换为VB.net List <T>有错误

0 c# vb.net object-initializers

我正在尝试将一些C#代码转换为VB,但是我收到了一个错误.什么是正确的VB语法?

C#

return new List<string>   {"First Name", "Last Name", "First & Last Name", "None"};
Run Code Online (Sandbox Code Playgroud)

VB

Return New List(Of String)() From {"First Name", "Last Name", "First & Last Name", "None"}
Run Code Online (Sandbox Code Playgroud)

那么我怎么转换呢?Dim list As New List(Of Country)()From {New Country()With {Key .Name ="Select Country",Key .Code ="0"}}

谢谢

Ant*_*ram 6

VB10(Visual Studio 2010的一部分)支持集合初始化,但VB9(VS 2008)不支持.您发布的语法对于VB10是正确的.

Dim foos As New List(Of String)() From {"Foo", "Bar"}
Run Code Online (Sandbox Code Playgroud)

在VB9中,您只需要以老式的方式处理它

Dim foos as New List(of String)()
foos.Add("Foo")
foos.Add("Bar")
Run Code Online (Sandbox Code Playgroud)

VB9确实支持数组初始化

Dim foos As String() = New String() {"Foo", "Bar"}
Run Code Online (Sandbox Code Playgroud)

但是,该数组不如该功能List(of T),但如果您不需要添加或删除元素,您当然可以使用数组而不是列表.