新西兰服务器

C#与VB.NET间移植的技巧有哪些


C#与VB.NET间移植的技巧有哪些

发布时间:2021-12-01 09:54:54 来源:高防服务器网 阅读:71 作者:iii 栏目:编程语言

这篇文章主要介绍“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.新语言特性
完全面向对象–继承(Inheritance), 重载(overloading), 共享的成员, 结构化异常处理强壮的语言 –严格的类型检查, 变量声明时初始化,支持垃圾收集(Garbage collection)强大 –支持委托(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打开,然后把所有类型转换出错的地方变成强类型转换,然后再进行移植。

2、类型转换。VB提供了很多类型转换函数型运算符,如CInt(), CSng(), CStr()等,在C#中只要用(int) , (float), (String)即可。然而如果不是标准类型,如下面的C#语句: ((System.Button)sender).Text = “启动”; 就要使用VB的函数型运算符CType来实现。上面的代码正确的移植方法是:CType(sender, System.Button).Text = “启动” 千万不要使用某些人推荐的,将Option Strict关闭,然后用后期绑定调用sender对象的方法,这根本不符合程序移植不能改变本质的要求。

3、修饰符和属性标签。VB和C#的修饰符是完全对等存在的,但是拼写往往不同,给移植带来了很多麻烦,尤其是表示相同意思的关键字从字面理解完全不同的时候。

到此,关于“C#与VB.NET间移植的技巧有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注高防服务器网网站,小编会继续努力为大家带来更多实用的文章!

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[