【发布时间】:2010-09-22 10:16:54
【问题描述】:
我正在寻找 VB.NET 的等价物
var strings = new string[] {"abc", "def", "ghi"};
【问题讨论】:
我正在寻找 VB.NET 的等价物
var strings = new string[] {"abc", "def", "ghi"};
【问题讨论】:
Dim strings As String() = New String() {"abc", "def", "ghi"}
【讨论】:
不是 VB 人。但也许是这样的?
Dim strings = New String() {"abc", "def", "ghi"}
(大约晚了 25 秒...)
提示:http://www.developerfusion.com/tools/convert/csharp-to-vb/
【讨论】:
Dim strings As String() = {"abc", "def", "ghi"}
【讨论】:
Dim strings() As String = {"abc", "def", "ghi"}
【讨论】:
Dim strings() As StringDim strings As String()
现在已经有很多正确答案了,但这里有一个“教人钓鱼”的版本。
首先在 C# 中创建一个小型控制台应用程序:
class Test
{
static void Main()
{
var strings = new string[] {"abc", "def", "ghi"};
}
}
编译它,保留调试信息:
csc /debug+ Test.cs
在上面运行Reflector,打开Main方法-然后反编译成VB。你最终得到:
Private Shared Sub Main()
Dim strings As String() = New String() { "abc", "def", "ghi" }
End Sub
所以我们得到了相同的答案,但实际上并不了解 VB。这并不总是有效,还有很多其他的转换工具,但这是一个好的开始。作为第一个停靠港绝对值得一试。
【讨论】:
{Nothing} 是String 或基本上任何其他类型的数组,而不是Object 的数组,编译器将在某些特定的场景如果你没有在内容前包含New String() 。
在支持类型推断的较新版本的 VB.NET 中,这个较短的版本也可以工作:
Dim strings = {"abc", "def", "ghi"}
【讨论】: