VB.net 和C#.net 各有什么优缺点

Python012

VB.net 和C#.net 各有什么优缺点,第1张

C#.net优点:

运算符重载。不安全代码(指针和固定内存区)、 无符号整数、移位运算。

VB的优点: 

即时编译、静态事件绑定、条件异常捕获、COM兼容类、宽松的类型检查和变量声明、VisualBasicRuntime库、可选参数、带参数属性、模块等语言特征、动态数组。

通过VB.NET开发好的程序绝对没有问题(包括DirectX游戏开发)。虽然VB.NET的资料少,但是只要C#支持的VB.NET都支持(大体上这样,因为都要经过MSIL中间环节。除了指针之类的VB.NET不支持C#支持,但是没有多大实际用处)。

vb.net的资料以英文资料居多(只有英文资料才有看头,中国的没有什么好资料),得看看英文水平过不过关。还有VB.NET的ide也比C#的IDE好得多,代码看得也舒服。(C#的大括号{}太烦人)。

至于VB6对C的帮助,只是理解上会容易一些,其它用处不大。有VB6的基础学VBNET会方便一些,但是并不是会VB6就会VB.NET,它们差别也不小。

扩展资料:

NET、C#和ASP.NET之间的区别:

1、NET是一个平台,一个抽象的平台的概念。

NET平台其本身实现的方式其实还是库,抽象层面上来看是一个平台。

基本可以理解的NET核心就是NETFramwork。

NETFramework包括两个关键组成元素:

a.CommonLanguageRuntime,公共语言运行时(CLR0)-提供内在管理,代码安全性检测等功能。

b.NETFrameworkClassLibrary,.NET框架类库(FLC)-提供大量应用类库,提高开发效率。

学习NETFramework是所有.NET开发人员都必须的,否则开发NET程序永远都是停留在‘外功’的招式,NETramework是NET开发高手的‘内功’修行之一。

2、C#是一个程序设计语言,仅仅是一个语言。

程序设计语言仅仅是为了方便开发人员和计算机沟通的工具,虽然C#语法相对C和 C+要多一些,但是相对来看C#语法都比较固定,这样使用起来却都很容易。我认可一位朋友说的,C#的语法更严谨!

这里回过来看看NET和C#的关系,不得不提的是NET程序的执行过程。

C#符合NETCLR中的公共语言运行规范。CLS:commonlanguagespecification,当然所有的NETLanguage都是符合这个规范的例如:VB.NET、XAML和C++/CL等等。

C#需要符合NETCLS,是因为NETCLR和JAVA虚拟机类似,有一个中间语言共机器来执行。所有不同语言的.NET代码在执行前会被编译成同样的中间语言(MSIL),所以所有NET支持语言都必须符合符合CLS规范。

P.S:如果做.NET3.0XAML开发的朋友,可以尝试下ildasm.exe看看XAML的应用程序,会发现原来XAML其实很简单。

3、ASP.NET是一个网站开发的技术,仅仅是.NET框架中的一个应用模型。

用微软公司ASP.NET快速入门中的一句话来解释,ASP.NET是用于生成基于Web的应用程序的内容丰富的编程框架。

ASP.net和C#的区别:

编写asp.net通常包括两部分的代码:网页层和后台处理层,网页就是用标记语言来写的,而网页对应的后台处理程序则需要.net语言来完成,目前主要是采用c#和vb.net。

可以说整个的asp.net网站通过c#或者vb.net来实现。而c#则是ms.netframework的主要语言,可以用在网站,桌面应用等方面。可以算是一种比较流行的编程语言。

VB.NET是基于.NET框架的完全对向对象的编程语言,而vb 6.0只是半面向对象的语言,使用vb.net可以编制出功能更加强大的windows程序。现在,我们把vb.net和vb 6.0做一下比较,看看vb.net对比vb 6.0有着什么样的特性和优点。 1.在vb 6.0中,创建对象的时候,需要等这个对象创建完毕后,再另外调用一个独立的方法对其进行初始化。在vb.net中, 可以利用构造函数为对象赋初值,这样就不需要进行烦琐的调用赋初值了。构造函数的使用,简化了编码的过程和出错的机会。 2.vb.net编写线程的能力比vb 6.0有很大的增强。 3.在vb 6.0中,需要首先声明一个变量,然后才能对其赋值,这样就需要写两行代码。在vb.net中,可以 使用初始化函数将这两个步骤合并在一行代码中完成,这个似乎微小的改进,提供了更少、更简单、更易于维护的代码。 4.vb.net基于.NET框架,开发者可以快速的可视化开发网络应用程序、网络服务、Windows应用程序和服务器端组件。 5.因为vb.net是基于.NET框架的,可以与其它.NET语言协同工作。 6.在vb.net中,通过Web窗体及ADO.NET,开发者可以快速开发可扩展的Web站点。 如果你能进一步学习vb.net,你会发现更多的新特性和优点

你是dotnet的拥趸,你也许会碰到一个查遍了所有资料也得不出一个结论的答案:那就是学vb.net与c#,我也是半路出家的道士,曾经也苦苦的寻求的答案。

到头来也是一无所获反而更加的迷惘了。根据我个人的经验,特为和我当年有同种寻求答案的人提供一种参考。

一、学vb.net吧,原因:

如果你有过vb的编程经历,要那就建议你从vb.net开始吧,虽然vb.net已经与vb有着本质的变化了,它看起来才是一真正的面向对象的语言,但ms又为vb开发保持留了最大平滑过渡的可能性。

1、vb.net基于vb发展而来的语言,但绝不是简单的升级,因为本质东西已经没有共通之处了,但让你有似曾相识的感觉,上手还是比较快的。

2、vb.net与c#编译后的微软中间语言msil内容都是一致

二、学c#吧,原因:

如果你是从没有开的经验朋友,那就从c#直接开始原

1、因为商业的关系,ms先生们肯定会有所侧重,把更多的精力投入到这门新的语言中。

,哪种对你来可以取得更多的收益,你就用哪门语言。