敌后武工队小说阅读:.net技术:C#.NET与VB.NET区别

来源:百度文库 编辑:高校问答 时间:2024/03/29 19:44:45
试问两者间的区别,如类的实现或其它本质上的区别;

请尽量用平实白话讲解,让每个访问者看过都有收获,我代表所有访问此页者向回答者表示感谢。

1、.NET是一个平台,一个抽象的平台的概念。
.NET平台其本身实现的方式其实还是库,抽象层面上来看是一个平台。
本人理解的.NET核心就是.NET Framwork。
.NET Framework包括两个关键组成元素:
a.Common Language Runtime,公共语言运行时(CLR)-提供内在管理,代码安全性检测等功能
b..NET Framework Class Library,.NET框架类库(FLC)-提供大量应用类库,提高开发效率  
学习.NET Framework 是所有.NET 开发人员都必须的,否则开发.NET程序永远都是停留在‘外功’的招式,NET Framework 是.NET开发高手的‘内功’修行之一。 
2、C#是一个程序设计语言,仅仅是一个语言。  
程序设计语言仅仅是为了方便开发人员和计算机沟通的工具,虽然C#语法相对C和C++要多一些,但是相对来看C#语法都比较固定,这样使用起来却都很容易。我认可一位朋友说的,C#的语法更严谨!  
这里回过来看看.NET和C#的关系,不得不提的是.NET程序的执行过程。  
C#符合.NET CLR中的公共语言运行规范。CLS:common language specification,当然所有的.NET Language都是符合这个规范的例如:VB.NET、XAML和C++/CLI....等等。
VB.NET封装的程度更加高一些。比如可以很容易的使用集合类型。而到了C#就不得不写一个类,实现IList,ICollection和IEnumerable接口,然后再写方法。这样也就用C#实现了一个功能和VB.NET一样的集合类。也就是说,用VB.NET是半路出家,C#是从头开始。当然这也决定了在设计时的思路。  
C#需要符合.NET CLS,是因为.NET CLR和JAVA 虚拟机类似,有一个中间语言共机器来执行。所有不同语言的.NET代码在执行前会被编译成同样的中间语言(MSIL),所以所有.NET支持语言都必须符合符合CLS规范。  
P.S:如果做.NET 3.0 XAML开发的朋友,可以尝试下ildasm.exe看看XAML的应用程序,会发现原来XAML其实很简单。  
3、ASP.NET是一个网站开发的技术,仅仅是.NET框架中的一个应用模型。

在.net下,所有的语言在实质上都是相同的,主要是语法上的区别了。至于C#.net的指针等等,VB.net的动态数组、可选参数等等,都是不符合.net预言规范的,在多语言交互中会带来很多不必要的麻烦。
效率方面,都是编译成MSIL,应该差不多。
其实对于初学者,参考资料的问题还是比较重要吧。C#.net的文档和资料比VB.net要多得多。

楼上的完全胡说, C#.net怎么是变成 Borland的,borland 倒是有个 C# builder?

C#.net 和 VB.net都是微软Dotnet 开发语言,都是基于 DotnetFramework框架的。除了语法外基本没什么区别,因为都是编译成中间语言的。普遍认为c#要比vb严谨,效率要高些。

▲C# 具有但 Visual Basic 不具有的特性
指针, 移位操作符, 内嵌的文档(XML)
重载操作符

▲Visual Basic具有但 C# 不具有的特性

更丰富的语法: Events, Try…Catch, Select…Case, 实现 Interface 后期绑定(Late binding), 动态数组, 模块(modules), 可选参数, 参数属性(parameterized properties) 后台编译

c#是.net的原生语言,而VB.NET是对VB6.0的升级,是面向对象的VB,2者的运行都依赖.netframework,但是差异还是较多的,比如:语法。C#继承许多C++的特点,如函数重载、运算符重载、类的动态多态性,VB.net则更多的继承VB6的易用性,比如:可选函数参数。另外,C#在一些高级应用,像Remoting 、异步执行、WEB服务,功能强于VB.net(毕竟是原生语言嘛),学.net推荐c#.net

C#.NET--------borland公司最新的基于网络的开发技术;
VB.NET--------microsoft公司的最新的基于网络和vb的网络开发技术(语言模块组合)。