![9080dd03f8bd553538bab051e18066dd.png](https://img-blog.csdnimg.cn/img_convert/9080dd03f8bd553538bab051e18066dd.png)
本篇文章首发于公众号凡花花的小窝
1.1C#与.NET
C#源于C,C++和JAVA,采用两者之所长并增加了自己的新的特性。
C#是面向对象的语言,Visual C#是事件驱动的可视化编程语言,程序在集成开发环境IDE中创建,在集成开发环境中编写的程序响应定时器和用户启动的时间(例如鼠标的单击和键击)
Vitrual studio 会产生大部分GUI代码,利用IDE,程序员可以方便的生成运行,测试和调试C#程序,从而减少了生成可工作程序所需要的时间,比不用IDE的时候快很多。
.NET是微软的新一代的技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的
从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序
如果一个应用程序跟.NET Framework无关,他就不能叫做.NET程序
CLI(Common Language Infrastructure,公共语言基层结构)是一种为虚拟机环境而制订的规范,使得由各种高级语言所编制的程序可以在不同的系统环境中执行之二不必更改或者重新编译原程序代码。
CLI指定了一种标准的虚拟机中介语言,然后将各种高级语言编制的源代码映射为该中间语言。
在中介语言中,当你执行程序的时候,代码是通过实时编译器(just-in-time(JIT) compiler)被最终映射为机器码的,叫做.NET程序。
CLR(Common Language Runtime)公共语言运行的时候一个执行程序的标准化环境,不管程序是用Bisual Basic,C#,还是C++等高级语言中的哪一种来编制的都可以在此环境中执行。
CLI也被定义为一种数据类型的公共集,叫做公共类型系统(Common Type System,CTS),它可以用于任意语言编的程序,以实行CLI为目标。
有一种标准的表达数据的类型系统,允许不同语言编制的组件用同意的方法来处理数据,从而使得不同语言编制的组件可以结合到单个程序当中。
CLR只不过是CLI规范在个人计算机上,在微软Windows操作系统中的一个执行而已。
CLI是规范,CLR是环境
术语CLI和CLR可以交换使用,但是CLI是一种标准规范,但是CLR确实微软对CLI的实现。
执行C#代码的过程包括下列的步骤
1:选择编译器
2