Chinaunix首页 | 论坛 | 博客
  • 博客访问: 206564
  • 博文数量: 163
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 1720
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-08 11:41
文章分类

全部博文(163)

文章存档

2011年(1)

2009年(162)

我的朋友

分类: 系统运维

2009-06-09 17:39:00

有个初学.net同学问我关于.NET,C#asp.NET的关系。
  因为看到很多企业招聘有的写会.NET,有的写会C#还有的写的是ASP.NET。
  到底它们之间有什么联系呢?
  当时因为忙,所以在这里给他补充一份详细的回答。

  1、.NET是一个平台,一个抽象的平台的概念。

  .NET平台其本身实现的方式其实还是库,抽象层面上来看是一个平台。
  个人理解.NET核心就只是.NET Framework。
  .NET Framework包括了两个关键组成元素:
  Common Language Runtime, 公共语言运行时
  --提供内存管理、代码安全性检测等等功能。
  .NET Framework Class Library, .NET框架类库
  --提供大量应用类库、提高开发效率。
  具体内容可以去看MSDN Library 2003 以上一篇文章
  《.NET Framework Conceptual Overview》
  .NET诞生的早期,单纯技术上来看.NET和JAVA一样可以实现跨平台。
  例如:Mono就是.NET跨平台应用得很好的项目
  相当于ISO c++标准库一样的,不过提供了更多的一些资源管理和应用库。
  学习.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 的应用程序的内容丰富的编程框架。

阅读(333) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~