有个初学NET同学问我关于NETC#和ASPNET的关系
因为看到很多企业招聘有的写会NET有的写会C#还有的写的是ASPNET
到底它们之间有什么联系呢?
当时因为忙所以在这里给他补充一份详细的回答
NET是一个平台一个抽象的平台的概念
NET平台其本身实现的方式其实还是库抽象层面上来看是一个平台
个人理解NET核心就只是NET Framework
NET Framework包括了两个关键组成元素
Common Language Runtime公共语言运行时
--提供内存管理代码安全性检测等等功能
NET Framework Class Library NET框架类库
--提供大量应用类库提高开发效率
具体内容可以去看MSDN Library 以上一篇文章
《NET Framework Conceptual Overview》
NET诞生的早期单纯技术上来看NET和JAVA一样可以实现跨平台
例如Mono就是NET跨平台应用得很好的项目
相当于ISO C++标准库一样的不过提供了更多的一些资源管理和应用库
学习NET Framework 是所有NET 开发人员都必须的否则开发NET程序永远都是停留在外功的招式NET Framework 是NET开发高手的内功修行之一
C#是一个程序设计语言仅仅是一个语言
程序设计语言仅仅是为了方便开发人员和计算机沟通的工具虽然C#语法相对C和C++要多一些但是相对来看C#语法都比较固定这样使用起来却都很容易我认可一位朋友说的C#的语法更严谨!
这里回过来看看NET和C#的关系不得不提的是NET程序的执行过程
C#符合NET CLR中的公共语言运行规范CLS:common language specification当然所有的NET Language都是符合这个规范的例如VBNETXAML和C++/CLI等等
C#需要符合NET CLS是因为NET CLR和JAVA 虚拟机类似有一个中间语言共机器来执行所有不同语言的NET代码在执行前会被编译成同样的中间语言(MSIL)所以所有NET支持语言都必须符合符合CLS规范
PS如果做NET XAML开发的朋友可以尝试下ildasmexe看看XAML的应用程序会发现原来XAML其实很简单
ASPNET是一个网站开发的技术仅仅是NET框架中的一个应用模型
用微软公司ASPNET快速入门中的一句话来解释ASPNET 是用于生成基于 Web 的应用程序的内容丰富的编程框架