自学C#之路6——.NET

曾几次开始自学C#而未坚持下来。我将再一次开始自学C#,并每日记录自学过程。以此督促自己坚持学习。同时也希望看到这篇文章的读者不吝赐教。

本文基本为概念,请做好无聊的准备

NET 框架(.NET Framework)是微软为开发应用程序而创建的一个富有革命性的全 新的编程平台。如何理解它呢?最简单的方式是把.NET 框架理解为代码的执行环境,一 方面它管理代码的执行过程,另一方面它为代码提供类库支持

1.公共语言运行时 用.NET 平台编写的代码一般都在公共语言运行时(Common Language Runtime,CLR) 的管理下运行,它负责运行代码,确保代码的安全性和准确性,又负责内存管理、线程调 度等核心服务。通常我们把在 CLR 控制下运行的代码称为托管代码(Managed Code)。

2..NET 为我们提供了一个内容丰富 的.NET 框架基础类库(Framework Class Library,FCL)。如果将 C#程序比喻为一座大厦, 那么大厦的设计思想就是面向对象编程,而建筑大厦的材料则来自于.NET 框架基础类库, 我们可以像使用钢筋、水泥、砖块一样使用 FCL 中的类构建应用程序大厦。FCL 中的类 不但种类丰富,而且直观形象,易于使用,能方便直观的实现各种需求。最重要的是我们 不用关心这些功能是如何实现的,拿起来用就行了。因此学习 C#的一个重点就是学习 FCL 类库中的常用类。

综上所述,.NET 担任了双重角色,一方面它是代码的管理者,另一方面它是代码的 支持者。

C#和.NET的关系

传统的高级语言只进行一次编译,源代码直接被编译为机器语言,但C#与它们不同, 需要经过两次编译。程序员编写好源代码之后进行第一次编译,将源代码编译为微软中间 语言(Microsoft Intermediate Language, MSIL),生成可以发布的应用软件。当用户运行 软件时,CLR在才进行第二次编译,将载入内存的中间语言编译为计算机能够执行的机器 语言。

托管代码的优点:

提高性能,即时编可以译针对该 CPU 的特性进行代码优化

语言的互操作性,不同语言编写的组件最终都编译为中 间语言,然后组成一个完整的程序。

平台无关性,理论上,只要操作系统安装了.NET 框架,编译为 MSIL 的软件可以运行在任何操作系 统上。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181125A0MC3800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券