我通过C#到VB的自动翻译器运行了一些代码,它翻译了一些代码,如下所示:
Public Property Title As [String]这有什么不同
Public Property Title As String为什么两者都存在?
发布于 2010-03-05 19:10:53
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-05 19:11:06
[]允许您使用VBs关键字作为标识符,就像c#中的@一样。它在这里是无用的。
发布于 2010-03-05 19:11:25
在该示例中,它们什么也不做。(*)不过,您可以使用方括号来使用保留字作为标识符。例如:Dim [String] as String
EDIT:(*),除非他们定义了自己的名为[String]的类,可以引用该类
https://stackoverflow.com/questions/2386213
复制相似问题