《C#高级编程》笔记系列第二弹-初探
C#是一门年轻的语言,不像C,C++那么源远流长,而C#的一个重要特点是和.net Framework这个强大的平台结合了起来,使得我们在使用C#进行开发的时候得心应手,据说.net Framework的代码有几百万行之多。这里也不得不佩服一下这个框架,.net Framework为我们提供了一个如此丰富的功能强大的平台用于开发、部署和执行我们的应用程序。
C#就是.NET吗?不是的,C#就其本身来说只是一门编程语言。尽管它只是用来生成.NET环境的代码,但它本身不是.NET的一部分。.NET支持的一些特性,C#本身并不支持。同样,C#支持的一些特性,.NET也不支持。比如:运算符重载。
.net Framework的核心是运行库的执行环境,成为公共语言运行库(CLR),通常在CLR控制下运行的代码成为托管的代码。C#代码编译的过程分为两个阶段:
(1)把源代码编译为Microsoft中间语言(IL)。
(2)CLR把IL编译为平台专用的代码。
中间语言IL具有如下特性:
● 面向对象和使用接口
● 值类型和引用类型类型之间的巨大差别
● 强数据类型(通过通用类型系统(CTS),将不同语言的类型映射为中间语言的类型,从而提供了语言的互操作性。)
● 使用异常来处理错误
● 使用特性
下图说明了我们的代码是如何编译和执行的。
可以说这一节是相当的枯燥了,因为只是“初探”,也并没有对其中的一些内容详细的介绍,比如IL,CLR,CTS等等。如果你是C#初学者,完全可以做为常识性的了解一下,伴随着你的学习的一步步深入,再回过头来看看这些东西,一定会印象更加深刻。下一节我们要正式开始我们的C#之旅,相信一定会非常有趣,敬请关注。
作者:CoderZh
公众号:hacker-thinking (一个程序员的思考)
独立博客:http://blog.coderzh.com
博客园博客将不再更新,请关注我的「微信公众号」或「独立博客」。
作为一个程序员,思考程序的每一行代码,思考生活的每一个细节,思考人生的每一种可能。
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。