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"}}
谢谢
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)
,但如果您不需要添加或删除元素,您当然可以使用数组而不是列表.