布尔和[布尔]之间有什么区别?

4

我用自动翻译器将一些C#代码翻译成了VB代码,其中有一段代码被翻译成了如下形式:

Public Property Title As [String]

这与何不同?
Public Property Title As String

为什么两者都存在?
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
< p >将关键字视为标识符的主要存在原因是与其他语言的库进行互操作性,这些库可能将VB关键字用作类型或成员名称。


1

[] 允许您将 VB 的关键字用作标识符,就像 C# 中的 @ 一样。但在这里它是无用的。


0
在这个例子中,它们什么也没做。(*) 但是你可以使用括号将保留字作为标识符使用。例如:Dim [String] as String

编辑: (*) 除非他们定义了自己的类叫做[String],那么他们可能指的是这个类。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接