Vb.net Dim s As String和Dim s As[String]之间有什么区别?

Vb.net Dim s As String和Dim s As[String]之间有什么区别?,vb.net,string,declaration,Vb.net,String,Declaration,以下两者之间的区别是什么: Dim s As String 及 它们是完全一样的东西。当您在类型名称周围放括号时,它不会做任何不同的事情,但是当括号放在标识符周围时,它允许您使用保留关键字 所以这是合法的: Dim [String] as String 因为标识符名称周围的括号允许编译器知道您打算使用保留关键字。没有区别 在VB中,可以将标识符用括号括起来,强制将其解析为标识符而不是关键字 例如,你可以写 Dim [If], [As], [Dim] 没有任何语法错误 括号除了表明标识符不是

以下两者之间的区别是什么:

Dim s As String


它们是完全一样的东西。当您在类型名称周围放括号时,它不会做任何不同的事情,但是当括号放在标识符周围时,它允许您使用保留关键字

所以这是合法的:

Dim [String] as String

因为标识符名称周围的括号允许编译器知道您打算使用保留关键字。

没有区别

在VB中,可以将标识符用括号括起来,强制将其解析为标识符而不是关键字

例如,你可以写

Dim [If], [As], [Dim]
没有任何语法错误


括号除了表明标识符不是关键字之外没有任何作用,因此
someVar
[someVar]
是相同的。

所发布的代码没有功能上的差异

可以使用方括号声明与VB.NET关键字同名的变量。给定一个名为“Loop”(VB中的保留关键字)的变量:

Loop.Visible=True'导致错误。 [Loop].Visible=True'设置名为“Loop”的变量的Visible属性。
这个例子来自。

技术上没有区别
Dim s As String
Dim s As[String]

好的,我必须说……请不要命名变量[If]、[As]、[Dim],等等!仅仅因为你能,并不意味着你应该。我不是说你要这么做,只是觉得需要写在某个地方。@Matt:没有一个理智的人会说出一个变量
[If]
<代码>[New]更有可能,但是.New。啊。就像在C#中一样。我个人认为区分大小写是一件非常糟糕的事情。我告诉我所有的初级开发人员,如果他们给一个变量命名为objectId,另一个变量命名为objectId,并且有不同的含义,那么我将切断他们的互联网访问@Matt-此语言功能使自动代码生成变得更加容易。我同意,任何人都不应该在自己的代码中这样做。
Dim [If], [As], [Dim]
Loop.Visible = True ' Causes an error. [Loop].Visible = True ' Sets the Visible property of the variable named "Loop".