Boolean和[Boolean]有什么区别?

时间:2010-03-05 11:07:13

标签: vb.net identifier

我通过C#到VB的自动翻译器运行了一些代码,它翻译了一些这样的代码:

Public Property Title As [String]

这与

有何不同
Public Property Title As String

为什么两者都存在?

3 个答案:

答案 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],他们可以指的是