我通过C#到VB的自动翻译器运行了一些代码,它翻译了一些这样的代码:
Public Property Title As [String]
Run Code Online (Sandbox Code Playgroud)
这有什么不同
Public Property Title As String
Run Code Online (Sandbox Code Playgroud)
为什么两者都存在?
Meh*_*ari 12
String是一个关键字.如果要将关键字用作标识符,则必须将其括在括号中.[String]是一个标识符.String关键字始终引用System.String类,同时[String]可以引用String当前命名空间中指定的自己的类.假设你有Imports System,大多数时候都指的是同一个东西,但它们可能是不同的:
Module Test
Class [String]
End Class
Sub Main()
Dim s As String = "Hello World" // works
Dim s2 As [String] = "Hello World" // doesn't work
End Sub
End Module
Run Code Online (Sandbox Code Playgroud)
[ ]将关键字视为标识符的主要原因是与其他语言的库的互操作性,这些库可能使用VB关键字作为类型或成员名称.