C# 概念及特点 NET Framework 及编译原理

一概念及特点

C#是微软(Microsoft)公司基于.NET FrameWork框架设计的面向对象的程序设计语言,并且是类型安全的强类型语言。C#高级语言是运行在.NETFrameWork框架之上的。
C#是从C和C++派生来的一种简单、现代、面向对象和类型安全的编程语言,并且能够与.NET框架完美结合。
C#具有以下特点:
语法简洁。
彻底的面向对象设计。
与Web紧密结合。
灵活的版本处理技术。
完善的错误、异常处理机制。
强类型的。

二C#与.NET Framework ,.NETCore 的关系

.NET Framework是微软推出的在Windows平台上的开发框架,只是一个平台,不是语言,而C#才是编程语言。
在.NET Framework框架之上可以多种语言,包括VB、C#、J#等语言。其中C#是微软主推的编程语言。Net Framework是运行在Windows操作系统之上的

.Net FrameWork 与.Net Core是.net平台推出的两大 框架;c#语言是运行在.net平台上的高级语言之一。.

Net FrameWork 可以用来创建Windows应用程序,即所说的Winform开发;Web方面 它还可以用来做Asp.Net开发与Asp.Net MVC开发,经常所说的Asp.Net开发就是指的Web Form开发;

.NET Core 是微软推出的最新的开源的,跨平台的框架,可以运行在Windows、MAC、Linux系统上。

三 CLR    FCL  CTS   CLS   lL 及编译原理

CLR:CLR是Common Language Runtime的缩写,中文含义是:公共语言运行时。提供一个运行时环境,使用C#、VB编译的代码最终要被编译为能被CLR运行的可执行代码 相当于-一个发动机,负责执行IL 它包括CTS和CLS两个部分,和其他的组件。
FCL:FCL是Framework Class Library的缩写,中文含义就是.Net Framework框架类库,包含有几千个类型的定义,每个类型都提供了某种功能。CLR是.Net Framework的底层。
CTS: Common Type System通用类型系统。Int32、 Int16- →int、String→string、Boolean- →bool.每种语言都定义了自己的类型,.NET 通过CTS提供了公共的类型,然后翻译生成对应的类型。
CLS: Common Language Specification通用语言规范。不同语言语法的不同。每种语言都有自己的语法,.NET 通过CLS提供了公共的语法,然后不同语言翻译生成对应的语法。
IL(Intermediate Language)) 中间语言,是经过编译之后可以执行的二进制代码,实现了.net平台的互联互通,后缀名为.exe或.dll。IL中间语言,是在CLR监控下运行的代码,称为托管代码(Managed Code)

C Sharp编译原理
在C#语言中,首先是C#编译器将编写好的代码进行编译,生成DLL或者exe文件,而.Net Core只会生成DLL文件。DLL或EXE还需要CLR/JIT的即时编译成字节码, 最后被计算机识别。总结:第一次编译:生成DLL或EXE文件(即生成MSIL微软中间语言)。第二次编译:DLL或EXE再经过CLR中的即时编译JIT,生成字节码(即机器码)