VB.net 相对VB出现巨大变化的是语意,从运行于基于COM的deterministic, reference-counted的引擎之上的编程环境,转变为全面面向对象的基于.NET Framework的语言。.NET Framework包括了CLR(使用通用垃圾收集机制和JIT编译引擎的虚拟机)和大量的类库。VB开发者进入VB.NET要面对新增的大量类库的问题。\x0d\x0a\x0d\x0a 上述变化表明了许多在运行及维护相关优化事宜下面的假定,一些VB6函数和库不再存在而其它的仍然可用,但是比不上.NET语言中自带的可替换的函数和库来得高效。即使它们可被编译,但大多从VB6转换而来的应用将需要一定程度上的重构(refactoring),以全面利用新语言的优点。在有关句法、应用调试、部署和术语等方面的变化,有大量的文档可以参考。\x0d\x0a\x0d\x0a 1, 比较样例:\x0d\x0a\x0d\x0a 两个例子都弹出"Hello,World"并带OK按钮的信息框,它们显示了VB和VB.Net在句法上的相似。\x0d\x0a\x0d\x0a VB.NET:\x0d\x0a\x0d\x0a Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click\x0d\x0a\x0d\x0a MessageBox.Show("Hello, World")\x0d\x0a\x0d\x0a End Sub\x0d\x0a\x0d\x0a VB:\x0d\x0a\x0d\x0a Private Sub Command1_Click()\x0d\x0a\x0d\x0a MsgBox "Hello, World"\x0d\x0a\x0d\x0a End Sub\x0d\x0a\x0d\x0a 注意,VB.NET中的所有过程调用都必须加圆括号,而VB6中只有调用函数或者VB6中使用Call来调用过程时才需要加圆括号。