关于开发用vb.net还是c的信息( 二 )


C#对于移植代码似乎没有作用,了解C#的人都明白 , 把现有C/C++代码放到C#中运行几乎是100%不能通过的 。所以 , 如果需要移植C/C++代码,最好使用Visual C++.net 。他做到了最好的新旧结合 。C#仅仅用于编写新的.net应用程序 。
如果需要从Java移植代码,C#可以选择 。同时还有J#及其他一些MS提供的转换工具 。
文档和资源方面的考虑
在MSDN文档中,C#和VB是同等看待的 。所有文档和例子都是有VB和C#两份的 。因此,在寻求资源方面都不用担心 。互联网上的资源,C#要多于VB,特别是国内,有倾向于C#的潮流 。但是ASP.net的资源VB较多 。国内缺乏VB.net资源是影响VB.net推广的重要原因 。但是在国外有很多非常成熟的VB技术,如掌上设备的开发技术 。
代码风格和杂项问题
C#书写的代码比VB平均短小20%,许多人不喜欢VB中过长的关键字 。当然他们可以选择C# 。但在开发环境中,VB的自动完成功能比C#更完善,其实30%的代码都是自动补充的 。因此 , 实际上VB程序员不会比C#多打多少字 。但VB语言换行比C#麻烦,如果需要书写大量繁杂而长的代码,最好选择C# 。VB的代码接近完整的英语,比C#更加易读 。如果是初学者不妨选择VB 。
VB.net 和C#.net 各有什么优缺点C#.net优点:
运算符重载 。不安全代码(指针和固定内存区)、 无符号整数、移位运算 。
VB的优点:
即时编译、静态事件绑定、条件异常捕获、COM兼容类、宽松的类型检查和变量声明、Visual Basic Runtime库、可选参数、带参数属性、模块等语言特征、动态数组 。
通过VB.NET开发好的程序绝对没有问题(包括Direct X游戏开发) 。虽然VB.NET的资料少,但是只要C#支持的VB.NET都支持(大体上这样,因为都要经过MSIL中间环节 。除了指针之类的VB.NET不支持C#支持 , 但是没有多大实际用处) 。
vb.net的资料以英文资料居多(只有英文资料才有看头 , 中国的没有什么好资料),得看看英文水平过不过关 。还有VB.NET的ide也比C#的IDE好得多,代码看得也舒服 。(C#的大括号{}太烦人) 。
至于VB6对C的帮助,只是理解上会容易一些,其它用处不大 。有VB6的基础学VBNET会方便一些,但是并不是会VB6就会VB.NET , 它们差别也不小 。
扩展资料:
NET、C#和ASP.NET之间的区别 :
1、NET是一个平台 , 一个抽象的平台的概念 。
NET 平台其本身实现的方式其实还是库,抽象层面上来看是一个平台 。
基本可以理解的NET核心就是NETFramwork 。
NETFramework包括两个关键组成元素:
a. CommonLanguageRuntime , 公共语言运行时(CLR0)-提供内在管理,代码安全性检测等功能 。
b. NETFrameworkClassLibrary , .NET 框架类库(FLC)-提供大量应用类库,提高开发效率 。
学习NET Framework 是所有.NET开发人员都必须的,否则开发NET程序永远都是停留在‘外功’的招式,NETramework 是NET开发高手的‘内功’修行之一 。
2、C#是一个程序设计语言 , 仅仅是一个语言 。
程序设计语言仅仅是为了方便开发人员和计算机沟通的工具,虽然 C#语法相对 C 和 C+要多一些 , 但是相对来看 C#语法都比较固定,这样使用起来却都很容易 。我认可一位朋友说的,C#的语法更严谨!
这里回过来看看NET和C#的关系,不得不提的是NET程序的执行过程 。
C#符合NETCLR 中的公共语言运行规范 。CLS:commonlanguagespecification , 当然所有的NET Language 都是符合这个规范的例如:VB.NET、XAML 和 C++/CL等等 。
C#需要符合NETCLS , 是因为NETCLR和JAVA虚拟机类似,有一个中间语言共机器来执行 。所有不同语言的.NET代码在执行前会被编译成同样的中间语言(MSIL),所以所有NET 支持语言都必须符合符合CLS 规范 。

推荐阅读