Vb教程 Vb.net教程 Vfp教程 C/C++教程 Vc/Vc++教程 Delphi教程 Java教程 Powerbuilder
  杀毒频道 | 短信频道 | 网络电视 | 论文中心 | 学上网 | 学软件 | 网页特效 | 电脑基础 | 论坛  
  NCRE | 软考 | CET | 职称英语 | 司法考试 | 报关员 | 公务员 | CATTI | CPA考试  
  Html教程 | Css教程 | Xml教程 | Asp教程 | Asp.net | Php教程 | Jsp教程 | Linux教程 | QQ技巧  
Photoshop Illustrator ImageReady Maya教程 3D Max教程 Lightscape Coredraw教程 Authorware Autocad教程 Freehand教程
Access教程 Mysql教程 Sql server Oracle教程 Word教程 Excel教程 Powerpoint Frontpage Asp.net源码 Php源代码
Flash教程 Fireworks Dreamweaver C#教程 outlook教程 系统安装 vbscript教程 Javascript Jsp源代码 Asp源代码
您的位置:首页 >> Vb.net教程 >> 正文

Visual Basic.net和C#功能对比

文章来源:互联网

   首先声明,此处仅作语言方面的对比,在.NET生产力上,两者没有区别。进行这个对比是为了澄清对Visual Basic和C#功能错误的认识和流言。以下所有区别都是经过较为深刻的研究得出的,相比一些常见的对比来讲更有科学性

   下面先对比Visual Studio .NET 2003中,两种语言功能的对比。*表示对方语言中没有这项功能,但是可以用别的语法在IL级别实现完全同样的功能。注意,本次比较只选择有意义的功能,某些功能,如循环、分支语句等传统功能不在比较之列。同时,VB因兼容老版本而遗留的,不具有现代语言特征的语法也不在比较之列(如On Error语句,Option Explicit语句等)。

Visual Basic有而C#没有的功能
C#有而Visual Basic没有的功能

局部static变量*

WithEvents和Handles语法*

可选参数

按名传递

属性参数

按非虚方式访问一个虚函数

换名实现接口

后期绑定

With语句*

用Imports导入静态成员

模块

Is操作符*

Try…Catch When语句

Visual Basic运行时库的功能和函数
运算符重载

为event指定add与remove访问器

using语句*

XML注释文档

不安全代码和指针

as操作符

out修饰符*

编译器CLS检查


接下来,是未来Visual Studio 2005中两者功能的对比。在这个对比中,所有因Visual Studio 2005新增功能产生的差异,将以粗体字表示。注意,并不是每一项新增功能都能产生两者的差异,比如泛型和Partial Type都是两者皆有的新功能。

Visual Basic有而C#没有的功能
C#有而Visual Basic没有的功能

局部static变量*

WithEvents和Handles语法*

可选参数

按名传递

属性参数

按非虚方式访问一个虚函数

换名实现接口

后期绑定

With语句*

用Imports导入静态成员

Is操作符*

Try…Catch When语句

Visual Basic运行时库的功能和函数

默认实例

My命名空间
为event指定add与remove访问器

不安全代码和指针

out修饰符*

迭代器

匿名方法


可见无论什么版本的对比,都是Visual Basic的功能比较多。当然,仅凭功能的多少,不能改变个人对语言的喜好,也不大可能成为选择开发工具的依据。但是有一句话给我的印象很深,我在CSDN上做调查时,有一个人说他用C#的理由是:“我用C#是因为C#比VB功能强,哪怕只是一点点也是强”。即使VB比较强,还是会有人这么说。这就说明语言或开发工具的歧视不是功能差异造成的,那真正的原因是什么呢?

[返回]

编程语言 web开发 数据库 网络技术 操作系统 服务器 网页设计 图形设计 办公软件 常用软件 学电脑

Copyright© www.bianceng.cn Powered by 编程入门网 All Rights Reserved.
关于本站 | 版权声明 | 联系我们 | 友情链接 |
编程入门网 版权所有