Visual Basic和C#功能对比

原创 2004年04月23日 13:29:00

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

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

Visual Basic有而C#没有的功能

C#有而Visual Basic没有的功能

局部static变量*

WithEventsHandles语法*

可选参数

按名传递

属性参数

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

换名实现接口

后期绑定

With语句*

Imports导入静态成员

模块

Is操作符*

Try…Catch When语句

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

运算符重载

event指定addremove访问器

using语句*

XML注释文档

不安全代码和指针

as操作符

out修饰符*

编译器CLS检查

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

Visual Basic有而C#没有的功能

C#有而Visual Basic没有的功能

局部static变量*

WithEventsHandles语法*

可选参数

按名传递

属性参数

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

换名实现接口

后期绑定

With语句*

Imports导入静态成员

Is操作符*

Try…Catch When语句

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

默认实例<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

My命名空间

event指定addremove访问器

不安全代码和指针

out修饰符*

迭代器

匿名方法

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

Visual Basic快捷教程——流程控制

在顺序执行的过程中,有时希望计算机根据条件判断来选择性地执行(或者不执行)一些代码,这时就需要用到选择结构(或称分支结构)。另外一些时候,希望计算机能够(有条件地)重复地执行某一段代码,这时就需要用到...
  • baimafujinji
  • baimafujinji
  • 2017年04月04日 15:14
  • 3097

怎样解决无法初始化Visual Basic环境的问题

经常使用word软件,难免是遇到这样那样的问题,今天笔者在录制新宏时出现错误提示“无法初始化Visual Basic环境”,对于此问题我们该如何来解决。 工具/原料 ...
  • kyfvc
  • kyfvc
  • 2013年10月30日 09:57
  • 1532

Visual Basic快捷教程——函数与子程序

函数是结构化程序设计的基础。函数的本质就是为了把程序切分成若干个相对独立的模块各司其职,而各个函数的作用也就是仅仅专门负责自己份内的那份功能。在Visual Basic中,函数是一组以Function...
  • baimafujinji
  • baimafujinji
  • 2017年04月19日 22:30
  • 2904

【Visual Basic】计时器与窗体屏幕尺寸的取法

主要是利用一个小例子讲解VB中计时器Timer的运用。 如下图所示: 有一个显示当前时间,在屏幕的边缘不停地移动。 首先是窗体设置,直接从工具箱拖入Label与Timer控件。Timer...
  • yongh701
  • yongh701
  • 2015年08月06日 09:30
  • 1307

数据库——SQL server2008安装与visual basic连接

这是自己当时初始CSDN上写的第一篇博客,其中当时的心情依然记忆尤新,总之美美的。...
  • u013030601
  • u013030601
  • 2014年06月29日 11:32
  • 1488

C#与Visual Basic的异与同(一)

C#是一种高级程序设计语言,是一种安全、稳定、简单、优雅的编程语言,它与Visual Basic有很多相同的地方,同时也有很多不同的地方。我们今天这篇博客本着学习C#的原则,着重介绍一下C#与Visu...
  • huanjileaimeidan
  • huanjileaimeidan
  • 2013年02月04日 11:10
  • 2233

Visual Basic快速入门

Basic语言的全名是Beginner’s All-purpose Symbolic Instruction Code(初学者通用的符号指令代码),是几十年前流行过的一门语言。我高中时候一门数学选修课...
  • u011054333
  • u011054333
  • 2018年01月05日 18:26
  • 51

Visual Basic快捷教程——异常处理机制

所谓“异常(Exception)”是指程序运行时所发生的不正常的情况。为了避免程序在运行时发生不正常的错误情况,就需要利用某种机制来捕捉到这些问题,并及时应对随之而来的麻烦,从而避免程序陷入无法继续执...
  • baimafujinji
  • baimafujinji
  • 2016年01月23日 19:12
  • 6268

多线程应用程序(C# 和 Visual Basic)

多线程应用程序(C# 和 Visual Basic) 发送反馈 使用 Visual Basic 和 C# 可以编写同时执行多项任务的应用程序。有潜力支持...
  • wuhenzhangxing
  • wuhenzhangxing
  • 2015年01月13日 18:36
  • 737

常见语言的优缺点

汇编语言:         汇编是第一个计算机语言。汇编语言实际上是你计算机处理器实际运行的指令的命令形式表示法。这意味着你将与处理器的底层打交道,比如寄存器和堆栈。如果你要找的是类英语且有相关的自...
  • u013679128
  • u013679128
  • 2014年03月10日 19:25
  • 1616
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Visual Basic和C#功能对比
举报原因:
原因补充:

(最多只允许输入30个字)