我通过C#到VB的自动翻译器运行了一些代码,它翻译了一些这样的代码:
Public Property Title As [String]
这与
有何不同Public Property Title As String
为什么两者都存在?
答案 0 :(得分: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
将[ ]
用于将关键字视为标识符的主要原因是与其他语言的库的互操作性,这些库可能使用VB关键字作为类型或成员名称。
答案 1 :(得分:1)
[]允许您使用VBs关键字作为标识符,就像在c#中的@一样。这里没用。
答案 2 :(得分:0)
在该示例中,它们什么都不做。(*)但是,您可以使用括号将保留字用作标识符。例如:Dim [String] as String
编辑:
(*)除非他们已经定义了他们自己的类[String]
,他们可以指的是