
正文
关于vb.net还是c的信息
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
.NET语言的选择,C#,VB.Net哪个更有前途?
Visual Basic.net还是C#
——如何选择.net语言
在.net中vb.net还是c,如何选择VB或C#vb.net还是c?这似乎已经争论了很久。很多人盲目选择,也产生了许多流言和错误。本文将从以下方面指导你选择正确vb.net还是c的开发语言。
功能上的考虑
许多人认为C#的功能比VB.net强大,或者C#更加适合.net等。其实这不是一两句话能比较清楚的。C#的确有VB无法完成的功能,但VB也有C#无法完成的功能。总的来说,对于.net开发,VB和C#没有任何差别,都100%兼容于CLS。下面列出的是vb.net还是c他们语言功能上的不同,这些仅仅是语言实现上的问题,不会影响到生成的代码。打*号的内容与CLS不兼容。
C#有而VB没有的功能vb.net还是c:
1、 运算符重载。*
2、 不安全代码(指针和固定内存区)。*
3、 无符号整数。*
4、 移位运算。
VB有而C#没有的功能
1、 即时编译。
2、 静态事件绑定。
3、 条件异常捕获。
4、 COM兼容类。*
5、 宽松的类型检查和变量声明。
6、 Visual Basic Runtime库。
7、 可选参数、带参数属性、模块等语言特征。*
8、 动态数组。*
可见,实际上功能更强大的是VB而不是C#。不过它们不一样的地方多半是无关紧要的特征。总体上来说,不应从功能上选择VB或者C#,因为他们没有什么具体的差别。
性能上的考虑
性能是程序员最关心的问题。VB和C#都生成一样的IL,因此理论上说不会有性能的差异。但许多人为什么说C#的性能高于VB.net呢?这是因为VB.net支持即时编译,就是一边书写代码一边编译。这样可立刻发现语法错误,使调试变得更加容易。但是这样一来VB就需要随时浏览整个代码文件,并把临时数据储存。这造成VB.net生成的代码中常常具有冗余部分。但也不能就此下结论说VB比C#慢,当用户选择打开优化并且以Release方式编译工程,就能得到与C#一样简短快速的代码。
学习上的难度
这部分不仅仅初学者需要考虑,那些从现有开发工具转移到.net的开发人员也需要考虑。首先,VB和C#都是非常简单的,对于初学者来说,VB提供伸缩性更强的空间,因此比C#更加易于接受。但这只是相对而言,C#对于初学者来说也不会有太多的困难。
对于使用Visual Basic6或其他版本的程序员来说。VB.net的语法显然要比C#更加接近VB6,网上流传的VB与VB.net差别被过分夸大,使部分程序员退缩。其实VB.net增加的只是面向对象的思想,许多VB程序员不具备完善的面向对象编程开发经验,因此觉得VB.net难以接受,这是很容易克服的。想想看,即使你要使用C#不也得学习面向对象吗?至于有C/C++/Java经验的人,C#是小菜一碟。刚才说过C#和VB实际上都很简单,所以不见得VB程序员学习C#就要比C/C++程序员来的困难,反之亦然,有C/C++经验的人也可以果断的选择VB。
移植现有代码
这一部分是程序员最头疼的部分。但对语言选择有决定性的意义。
从VB6移植代码的程序员,最佳选择就是VB.net,因为其他.net语言没有一种是与VB相似的。而且即使VB6的工程移植到VB.net非常困难,也有一个移植向导可以帮助你完成大部分工作。如果手工把他移植到C#,需要白白花费大量的时间。而且刚开始使用C#的VB程序员通常都会为C#缺少他们熟悉的函数而头疼。VB.net不会出现这种情况。
从ASP移植到ASP.net,首选语言仍然是VB.net,因为多数程序员使用的ASP语言是VBScript,只有VB.net最大程度地接近这种语言。
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。
相关问答
Q1: 学c#好还是学vb.net好?哪个更有前途?
你是dotnet的拥趸,你也许会碰到一个查遍了所有资料也得不出一个结论的答案:那就是学vb.net与c#,我也是半路出家的道士,曾经也苦苦的寻求的答案。
到头来也是一无所获反而更加的迷惘了。根据我个人的经验,特为和我当年有同种寻求答案的人提供一种参考。
一、学vb.net吧,原因:
如果你有过vb的编程经历,要那就建议你从vb.net开始吧,虽然vb.net已经与vb有着本质的变化了,它看起来才是一真正的面向对象的语言,但ms又为vb开发保持留了最大平滑过渡的可能性。
1、vb.net基于vb发展而来的语言,但绝不是简单的升级,因为本质东西已经没有共通之处了,但让你有似曾相识的感觉,上手还是比较快的。
2、vb.net与c#编译后的微软中间语言msil内容都是一致
二、学c#吧,原因:
如果你是从没有开的经验朋友,那就从c#直接开始原
1、因为商业的关系,ms先生们肯定会有所侧重,把更多的精力投入到这门新的语言中。
,哪种对你来可以取得更多的收益,你就用哪门语言。
Q2: 讨论VB.NET与C#到底学哪个好
以下观点仅共题主参考(如果其他人有高见vb.net还是c,请注意 VB.net 和 VB 几乎完全不同vb.net还是c,请不要照搬 VB 的那套言论来评价 VB.net)
VB.net 和 C# 都是微软的主推语言vb.net还是c,单纯就国内的大环境而言更注重 C#。
.NET 平台的各语言都是相通的vb.net还是c,学了一个另一个上手也就更快,所以建议先从自己熟悉的学起,再学另一个。
如果题主之前学过 VB,那么建议先学习 VB.net,上手更快;
反之如果之前学过 Java,那么建议先学习 C#,两者很相似。
如果只接触过 C 甚至没接触过,那么二者对题主来说都是完全新鲜的东西,先学哪个都一样。
Q3: vb.net和c语言哪个好
语言没有好坏之分,只有对某个问题的处理擅不擅长,具体还得看你自己的需求。
VB.NET确实还行,C语言大家都知道效率比较高,应用也更广泛些,还是推荐你学C语言,学好C语言之后再学C#比VB.NET稍微好学些,都是.NET
Q4: vb.net和c语言哪个更好,更普遍
c吧,初学上手比较难,但还在用,其他语言好多讲效率的基础库底层都是c写的。
另外好多语言都是c语言体系的,基本都差不多什么if,else,switch啥的。
vb相对简单,但不算很大众。c#,java这种比较主流上手也快,但也是c体系的。看你要干嘛了
Q5: 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 规范。
P.S:如果做.NET3.0XAML开发的朋友,可以尝试下ildasm.exe看看XAML的应用程序,会发现原来 XAML其实很简单。
3、ASP.NET是一个网站开发的技术,仅仅是.NET框架中的一个应用模型。
用微软公司ASP.NET快速入门中的一句话来解释,ASP.NET是用于生成基于Web的应用程序的内容丰富的编程框架。
ASP.net 和C#的区别:
编写asp.net通常包括两部分的代码:网页层和后台处理层,网页就是用标记语言来写的,而网页对应的后台处理程序则需要.net语言来完成,目前主要是采用c#和vb.net。
可以说整个的asp.net网站通过c#或者vb.net来实现。而c#则是ms .netframework的主要语言,可以用在网站,桌面应用等方面。可以算是一种比较流行的编程语言。
关于vb.net还是c和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







