.NET 是一个平台,一个抽象的平台的概念;C#是一个程序设计语言,仅仅是一个语言;ASP.NET 是一个网站开发的技术,仅仅是.NET 框架中的一个应用模型。
关于.NET、C#和 ASP.NET 之间有什么区别经常被人问道,就算有很多的程序员可能都不能完全的分清楚,到底它们之间有什么联系呢?在这里子凡给大家归纳如下:
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….等等。
C#需要符合.NET CLS,是因为.NET CLR 和 JAVA 虚拟机类似,有一个中间语言共机器来执行。所有不同语言的.NET 代码在执行前会被编译成同样的中间语言(MSIL),所以所有.NET 支持语言都必须符合符合 CLS 规范。
P.S:如果做.NET 3.0 XAML 开发的朋友,可以尝试下 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 .net framework 的主要语言,可以用在网站,桌面应用等方面。可以算是一种比较流行的编程语言。