我使用developerfusion.com将我的C#代码片段转换为VB .NET,我注意到String类型已转换为[String]。
我尝试了Google并搜索了SO无效,所以我会问社区[String]和String之间有区别吗?如果是这样,差异是什么?
答案 0 :(得分:8)
在VB.Net中,单词周围的[]用于允许将关键字用作普通标识符。因此,使用[String]意味着我想要识别具有单词String的东西而不是VB关键字String。
答案 1 :(得分:6)
转换器可能是这样做的,因为它无法识别字符串类型,并认为它是代码中定义的类。
您可以在标识符周围添加括号以使用关键字。您可以创建自己的[String]
类,它与内置的String
类不同,但这当然很容易让人感到困惑......
Public Class [String]
Public Value As Integer
End Class
Dim s As New [String]
s.Value = 42
答案 2 :(得分:1)
括号通常表示使用保留关键字的变量名称。您是否将字符串变量命名为String?
答案 3 :(得分:1)
可以在VB.NET中使用括号,以允许VB.NET关键字用作用户定义的名称。例如,您可以创建一个名为Integer的类,即使VB.NET中已存在Integer关键字:
Public Class [Integer]
End Class
希望这澄清!