讲述C#与VB.NET间移植的技巧

在向大家详细介绍C#与VB.NET间移植的技巧之前,首先让大家了解下C#与VB.NET两者的区别,然后全面介绍C#与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.新语言特性
完全面向对象C继承(Inheritance), 重载(overloading), 共享的成员, 结构化异常处理强壮的语言 C严格的类型检查, 变量声明时初始化,支持垃圾收集(Garbage collection)强大 C支持委托(Delegates), free threading,Variant 数据类型被 Object 代替

2.与VB6一致的语法

三、C#与VB.NET两者的区别?

1.语法上的差异,例如循环的写法

VB.NET

For I = 1 To 10  


‘ for loop  


Next I 

C#

For (i=1;i<11;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)后台编译

四、C#与VB.NET间移植的技巧

按理说,这两种语言没有什么移植的必要,因为他们生成的代码可以完全通用。但是如果一个工程基本上是VB写成的,却需要少许已经存在的C#过程,用组件并不是一种效率很高的办法。就算是学习C#或VB,学会他们之间的移植可以双倍的利用已经存在的代码(如好玩的Donkey.net就只有VB版)。

有人比较过这两种语言,得出的结论是他们很相似。但即便是这样,VB初学者看到诸如((Button)sender).Text = “启动”;之类的语法不知道如何移植到VB,而C#初学者看到Handles Button1.Click等语法也会为移植而感到头痛。下面就看看他们最难移植的部分:

1、Option语句。VB的Option语句可以打开或关闭变量声明检查和类型转换检查。尤其是Option Strict被关闭后,VB变成弱类型语言,很多类型转换都是自动的,移植到C#中会产生无数错误。因此,如果要将带有Option Strict Off语句的VB程序移植到C#,最好先在VB中将Option Strict打开,然后把所有类型转换出错的地方变成强类型转换,然后再进行移植。

相关推荐