C#码农笔记:从第一行代码到项目实战
上QQ阅读APP看书,第一时间看更新

1.2 C#与.NET的关系

C#编写的应用程序必须放置于.NET环境中才能正常运行。C#代码最终会被编译为“中间语言”(Microsoft Intermediate Language,MSIL),这样一来就可以与其他.NET所支持的语言编写的代码融合到一起,如使用Visual Basic.NET或托管C++所编写的代码。为什么要把各种语言的源代码都编译为MSIL呢?例如,公司有一个团队,成员A擅长Visual Basic语言,成员B则对C#语言较为熟悉,在开发过程中,团队中各成员只需要使用自己所熟知的语言去编写程序,最后可以统一编译为MSIL代码。这无疑提升了团队内部的协作能力,而团队中的成员也不必花时间去学习另一门语言就可以融入团队的项目中。

尽管.NET平台支持多种编程语言,但是C#语言是专为.NET平台而推出的,因此人们在学习.NET开发相关技术时会优先考虑C#语言。当然,也不是绝对地非要使用C#不可。

我们要清楚的一点是,不能错误地认为C#就是.NET,.NET就是C#。二者之间不存在对等关系,.NET是一个运行环境,它支持使用多种编程语言开发程序,而C#只是其中的一门语言。

那么.NET又是用来做什么的呢?它包含各种应用程序所需要的运行库,使开发者所编写的应用程序可以顺利运行。如果说.NET是一个“大舞台”,那么程序就是舞台上的表演者。这就好比,我们要下厨做一顿饭,所需要的各种原材料都需要事先购买,然后拿到厨房去加工处理,直到把饭菜做好。不可能在需要用电饭煲时,自己去造一个,显然那是不现实的。我们学会如何穿衣服,并不一定要学会纺织衣服。.NET集成了许多的“零部件”,在开发应用程序时,开发者可以根据具体需要拿来用即可。