4

我通过 C# 到 VB 的自动翻译器运行了一些代码,它翻译了一些代码,如下所示:

Public Property Title As [String]

这与

Public Property Title As String

为什么两者都存在?

4

3 回答 3

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 关键字作为类型或成员名称。

于 2010-03-05T11:10:53.180 回答
1

[] 允许您使用 VBs 关键字作为标识符,就像 c# 中的 @ 一样。在这里没用。

于 2010-03-05T11:11:05.997 回答
0

在该示例中,它们什么都不做。(*) 不过,您可以使用方括号将保留字用作标识符。例如:Dim [String] as String

编辑:(*)除非他们定义了他们自己的类[String],否则他们可以指代

于 2010-03-05T11:11:24.523 回答