C#.net和Visual Basic.net有哪些区别?

9

我有一点VB.net的经验,想学习C#.net

VB.net和C#.net有什么区别?

这两者之间性能有差异吗?

除了语法上的差异外,还有什么主要变化需要注意吗?


6个回答

8

维基百科的语言特性部分提供了很好的概述。据我所知,几乎在每个方面性能都是相当的。


6
如果编写等效代码,性能相当,但VB.NET具有为“向后兼容性”而存在的结构,这些结构永远不应使用。C#没有某些东西。我具体考虑:

  • 在Microsoft.VisualBasic命名空间中的函数,它们是其他标准.NET类的成员,例如Trim()。.NET类通常更快。

  • Redim和Redim Preserve。在.NET中永远不要使用,但它们在VB中。

  • On Error ...而不是异常。呕吐!

  • Late binding(有时被嘲笑为“选项缓慢”)。从性能角度来看,在非动态.NET语言中不是一个好主意。

VB还缺少自动属性,这使得它对我来说相当不理想。这不是性能问题,但值得记住。


3

2
学习C#的第一件事是要知道它的发音不是"C#.net",而只是C#。微软在VB上添加了".NET",因为之前有一个版本的VB不能在.NET框架上运行。C#是专门针对.NET框架创建的,因此".net"是暗示且不必要的。另外值得一提的是,在简历上写"C#.NET"会让一个有经验的经理人很容易看出你在C#方面的技能水平或缺乏水平。
此外,这个维基百科文章非常适合从高层次上展示C#和VB.NET之间的优缺点和区别。this Wikipedia article

2

请查看以下链接,了解详细的差异:

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

http://www.codeproject.com/KB/dotnet/vbnet_c__difference.aspx

http://support.microsoft.com/kb/308470

尽管在http://support.microsoft.com/kb/308470中提到了一些差异,但C#和VB.Net都是.NET世界中的一流语言。

虽然Visual Basic .NET和Visual C# .NET之间存在一些差异,但它们都是基于Microsoft .NET Framework的一流编程语言,并且同样强大。Visual Basic .NET是一个真正的面向对象编程语言,包括继承、多态、接口和重载等新功能和改进功能。Visual Basic .NET和Visual C# .NET都使用公共语言运行时。在Visual Basic .NET和Visual C# .NET之间几乎没有性能问题。Visual C# .NET可能具有更多的“强大”功能,如处理非托管代码,而Visual Basic .NET可能稍微偏向于易用性,提供诸如后期绑定之类的功能。然而,与早期版本相比,Visual Basic .NET和Visual C# .NET之间的差异非常小。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接