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

Python011

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的主要语言,可以用在网站,桌面应用等方面。可以算是一种比较流行的编程语言。

各有各的用处:

java可以在各种系统上运行,其实.net也有这个潜力,只不过里面的一些和windows api相关的类就不能用了,网络方面的类应该是可以很好运行的。.net有一套开发工具,可以提高开发速度。

如果是比较大型的应用的话,还是java比较适合。不过java对服务器的要求一般比较高。.net有一套MS自成体系的东西(windows + sql server + office + .net +...)他们之间没有兼容性问题。java的话老是会遇到些兼容问题。.net依赖的windows价格还可以。linux是免费的,但是如果大型应用用IBM的话,简直是天价。 .net比较新,借鉴了java,不能否认.net是比java先进

j2ee的优势:

1.j2ee应用程序服务器一般集成了很多组件程序:

web server, jms, app server. ejb component 封装得比.net组件要多些,它可以进行事务处理,persistence等功能。

2..net组件没法完成事务处理功能,要进行事务处理,必须用COM+的transaction processing function. .net中没有异步消息功能(i.e. jms function),在COM+中可以用消息队列来完成这样的功能。.net对数据库的处理功能,ado.net是面向无连接的应用,但事务处理等功能需要自己编写程序或用在数据库中处理。.net web server, .net framework等各server不是集成在一起,多少有些不方便。 以上是认为.net相对来说比较不方便的地方。 .net的优势

1..net的元数据功能强大。

2.部署非常方便。

3.side by side execution,解决了版本问题,允许多版本共存,resolved dll hell.

4. This is a remarkable one, code behind technology.

5. Also a remarkable one, easier Web Service development and deployment.

6. back compatible,对以前产品的兼容,如果用java,以前用com+实现的东西就会变成一堆废品。

7. vsa,方便开发script application.可以开发一个应用程序象office一样有一个script editor.这点很诱人。

8. .net speech technology,前景广阔,call center中大有前途,和Voice xml竞争产品,version1.0马上要release了。

ms以前有Smart Card sdk1.1,但在.net中好像还没有实现。而Java Card非常好用,j2me功能觉得还不够强大,同时.net在这方面也还不是很强大。.Net最大的优势是简单和window结合紧密 java的优势在于跨平台和大型企业应用。