我通过 C# 到 VB 的自动翻译器运行了一些代码,它翻译了一些代码,如下所示:
Public Property Title As [String]
这与
Public Property Title As String
为什么两者都存在?
我通过 C# 到 VB 的自动翻译器运行了一些代码,它翻译了一些代码,如下所示:
Public Property Title As [String]
这与
Public Property Title As String
为什么两者都存在?
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 关键字作为类型或成员名称。
[] 允许您使用 VBs 关键字作为标识符,就像 c# 中的 @ 一样。在这里没用。
在该示例中,它们什么都不做。(*) 不过,您可以使用方括号将保留字用作标识符。例如:Dim [String] as String
编辑:(*)除非他们定义了他们自己的类[String]
,否则他们可以指代