十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
功能上的考虑 许多人认为C#的功能比VB.net强大,或者C#更加适合.net等。其实这不是一两句话能比较清楚的。C#的确有VB无法完成的功能,但VB也有C#无法完成的功能。总的来说,对于.net开发,VB和C#没有任何差别,都100%兼容于CLS。下面列出的是他们语言功能上的不同,这些仅仅是语言实现上的问题,不会影响到生成的代码。打*号的内容与CLS不兼容。 C#有而VB没有的功能: 1、 运算符重载。* 2、 不安全代码(指针和固定内存区)。* 3、 无符号整数。* 4、 移位运算。 VB有而C#没有的功能 1、 即时编译。 2、 静态事件绑定。 3、 条件异常捕获。 4、 COM兼容类。* 5、 宽松的类型检查和变量声明。 6、 Visual Basic Runtime库。 7、 可选参数、带参数属性、模块等语言特征。* 8、 动态数组。*
创新互联是一家集网站建设,海林企业网站建设,海林品牌网站建设,网站定制,海林网站建设报价,网络营销,网络优化,海林网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
VB6.0与VB.net在语法上是相似的,VB.net是微软后续开发的编程语言,与VB6.0最大的区别是完全的面向对象,而VB6.0是属于面向过程的。
VB6.0简单易用,但是微软已经在2008年宣布不再继续提供支持,是已经淘汰的编程语言了,但是对于非专业的程序员,依然可以在Win7上进行程序开发。
Vb.net比起Vb6.0有以下优劣势:
VB.NET是完全面向对象和后现代化的语言(JAVA独具的新概念)
VB.NET是自由线程语言
VB.NET的运行速度比VB6要快
VB.NET从语法上来说更加紧凑和具有规律性
VB.NET开放了界面设计代码
VB.NET可以更好地集成微软的新产品和新技术
VB.NET拥有更加强大附属组件
VB.NET拥有移动开发的能力
VB.NET封装的类功能强大,不需要额外使用API
VB.NET的开发环境更加紧密与集成化,与同类语言(如C#)连接更紧密
VB.NET目前还受到微软的更新和支持
VB.NET必须运行在.NET的虚拟机上
VB.NET要更加难学
一、C#
--- 像VB一样简单,像C++一样强大的新语
C#是第一流的面向组件的语言
由 Turbo Pascal, Delphi, and Visual J++的首席设计师Anders Hejlsberg 倾心3年设计
所有的语言元素都是真正的对象
开发强壮和可重用的软件
所有的.NET Framework中的基类库(Base Class Library)都由C# 编写
二、VB.NET
--- 完全面向对象的BASIC语言
1.新语言特性
完全面向对象– 继承(Inheritance), 重载(overloading), 共享的成员, 结构化异常处理
强壮的语言 – 严格的类型检查, 变量声明时初始化,支持垃圾收集(Garbage collection)
强大 – 支持委托(Delegates), free threading,Variant 数据类型被 Object 代替
2.与VB6一致的语法
三、2者的区别?
1.语法上的差异
例如循环的写法
VB.NET
For I = 1 To 10
‘ for loop
Next I
C#
For (i=1;i11;i++) {
// for loop
}
另外Visual Basic 对大小写不敏感,而C#是大小写敏感的。
2.C# 具有但 Visual Basic 不具有的特性
指针, 移位操作符, 内嵌的文档(XML)
重载操作符
3.Visual Basic具有但 C# 不具有的特性
更丰富的语法: Events, Try…Catch, Select…Case, 实现 Interface
后期绑定(Late binding), 动态数组, 模块(modules), 可选参数, 参数属性(parameterized properties)
后台编译
Visual Basic .NET Visual Basic.NET是基于微软.NET Framework之上的面向对象的中间解释性语言,可以看作是Visual Basic在.Net Framework平台上的升级版本,增强了对面向对象的支持。但由于改动太大,导致VB.net对VB的向后兼容性不好,在业界引起不小的争议。 大多的VB.Net程序员使用Visual Studio .Net作为IDE(integrated development environment). SharpDevelop是另一种可用的开源的IDE。VB.Net需要在.Net Framework平台上才能执行。 VB.NET的主页 1 目前版本 2005年9月以来,存在三种不同版本的Visual Basic .NET. 1 Visual Basic .NET:是随vc#和ASP.NET一起在2002年发布的最初始的VB.net版本。C#被大力宣传为微软对付JAVA的王牌,受到媒体极力关注。然而VB.NET(有时被称为VB7)影响面不广,这导致VB社区之外很少人关注它。那些试用过此版VB.NET的人在层层幕布下发现一个强大却艰深的语言,而且还有不少弱点,比如它比VB6来有一个大了十倍的进行时(RunTime),内存footprint也大大增加。 2 Visual Basic .NET 2003:是和.NET Framework 1.1一起发布的。新功能包括对.NET Compact Framework的支持和更好的VB升迁向导。并改进了运行状况,IDE稳定性(尤其是后台编译器),以及运行时RunTime稳定性。另外,VB.NET 2003还有一个学院版Visual Studio .NET 2003 Academic Edition (VS03AE),它是分发给各国某些学者免费使用的版本。 3 Visual Basic 2005:VB2005是VB.Net的重大转变,微软决意在其软件名称中去掉了.NET部份。在VB2005中,微软增加了许多新功能,以引用VB对于初学者来说的一些优点: A, Edit and Continue - 也许是从VB那里丢掉的最大的功能,允许代码的编辑和执行立即的执行恢复。 B, Design-time expression evaluation C, My伪命名空间,提供了访问.NET Framework特定域的不需大量编码的简单方式;还能动态产生类(显然的是My.Forms);提供了改进的VB到VB.NET转换向导;Using 语法,简化了需要部署pattern to free resources的对象的使用;My编码,可隐藏由VB.NET IDE写的模板代码;数据源绑定,简化了数据库C/S开发 上述功能(尤其是My)增强了VB.Net成为快速开发应用平台的可能,并与C#进一步区别开来。参见: 使用My开发 通过My命名空间访问.NET Framework 和项目 Visual Basic 2005 通过增加新功能而填补了和其它所谓更强大的.NET语言的差距。 A, 增加了.NET 2.0语言功能包括:generics和Partial类(在一个文件里定义一个类的某部份然后再添加更多的定义,这个方法在整合用户编码和系统自动生成编码时尤其有用)。 B, XML注释,可以被NDoc等工具处理而自动生成文档 C, operator overloading D, 支持在其它语言中已经广泛使用的unsigned integer数据类型。 E, 支持在许多C衍生编程语言已提供的复合操作符如:"+=", "-=" 4, IsNot专利:If Not X Is Y表达式被转换成If X IsNot Y。当微软为IsNot申请专利时招致了恶名(尤其来自Real公司)。 5, Visual Basic 2005 Express:作为VS产品线上的一部份,VB2005 Express是专为业余爱好者和新手定制的免费的VS Express系列的一员。Express版本目的定位在帮助人们学习一种语言,所以他们有和标准版一致的用户界面,只是少了一些高级功能。另外,VS 查看更多答案
记得采纳啊
C#和VB.net本质上都是.net框架下的,除了语法上有一些差别,两者可认为是同样的。稍有不同的是VB.NET继承VB的弱类型机制,没有C#对数据类型的规定得严格。
就.net框架来说说优缺点吧。优点:开发简单,支持的语言多,有很丰富的现成的类库可以使用,不必编写底层代码,只需关注业务逻辑。
缺点:仅支持windows系统,可移植性差;在性能上和对系统底层控制上不如C/C++。
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,你会发现更多的新特性和优点