被误解的VB.NET
1、误解一:VB.NET不支持无符号整数。
解释:
a、无符号整数是FCL的System命名空间下的类型,所有.NET语言都能直接使用;
b、VB.NET的基元类型包含无符号整数。
示例:
Dim a As System.UInt32Dim b As UInteger
2、误解二:VB.NET 不支持移位运算
解释:VB.NET支持移位运算,甚至允许重载。
示例:
Dim a As Integer = 12
Dim b As Integer = a << 3
3、误解三:VB.NET 不支持运算符重载。
解释:VB.NET提供完整的机三驼制来支持运行符劫慎醒重载。
示例婶倘:
Class TypeA
Public A As Integer
Public B As Integer
Public Shared Operator +(v1 As TypeA, v2 As TypeA) As TypeAReturn New TypeA With {
.A = v1.A + v2.A,
.B = v1.B + v2.B
}
End Operator
Public Shared Operator +(v1 As TypeA, v2 As Integer) As TypeAReturn New TypeA With {
.A = v1.A + v2,
.B = v1.B + v2
}
End Operator
Public Shared Operator *(v1 As TypeA, v2 As TypeA) As Integer
Return v1.A * v2.A + v1.B * v2.B
End Operator
End Class
4、误解四:VB.NET比C#的运行效率低。
解释:VB.NET和C#都是生成IL代码,运行效率低根本就是无稽之谈。
5、误解五:学VB.NET必须先学C#。
解释:
种种原因,现在市面上的VB.NET的教程确实要比C#的少好多。所以部分人认为通过C#来曲线学习VB.NET。但是,这只是其中一种途径,并不是唯一途径。VB.NET的使用在MSDN上有详细的介绍(机器翻译可能会有不准,但其提供的示例是完全没有问题的)。而网上的C#例子,也可能用工具转换成VB.NET代码。
当然,到了一定的层次,两种语言都能看得懂,然后可以根据自己的习惯来使用。