1.VB只能提示响应速度快是因为使用了Roslyn。现在C#也采用了Roslyn,响应速度和VB一样快。
2.编译器更喜欢符号而不是单词。一个方法,编译器先找到{,把它入栈,然后找到对应的},再出栈,一个方法的首尾匹配完成。
3.VB也有奇葩的符号。
(1)定义变量并赋值:Dim i As Integer=0 '你不觉得这种语法很奇怪吗?到底是偏自然语言还是偏符号?如果你把定义和赋值分开写,那将花费多一倍的代码行。定义20个变量C#花费20行,VB花费40行,哪个眼花?
(2)定义数组:Dim arr As Integer()=New Integer(3){} '说VB没有括号的纯属胡说八道。你初始化数组就要用到大括号{},否则编译不通过。你觉得这种外形美观吗?还有小括号()里的3表示上界而不是个数,New Integer(3)本质上声明了4个元素,会被编译成New Integer(0 To 3),容易造成误会。
(3)VB的特性一样有<>:
<Conditional("Debug")>
Public Shared Sub M1()
'Do something
End Sub
(4).你所谓的List(Of Integer)你怎么理解这个Of?
4.功能也不够强大。就拿异步来说,C#有await foreach和await using,VB没有!