C#学习笔记1:C#与.NET Framework的关系

C# 程序在 .NET Framework 上运行

.NET Framework:包含一个被称为common language runtime (CLR)的虚拟执行系统和一组统一的类库。CLR 是 Microsoft 对 Common Language Infrastructure (CLI) 的商业实现。CLI 是一种国际标准,以之为基础创建的执行和开发环境(比如CLR),使得各种语言和库能够在其中一起无缝地协同工作。

编译:用 C# 编写的源代码被编译为一种符合 CLI 规范的中间语言 (IL)。IL 代码与资源(例如位图和字符串)一起作为可执行文件存储在磁盘上,这个可执行文件被称为程序集(assembly),通常具有的扩展名为 .exe 或 .dll。

执行:执行 C# 程序时,程序集(assembly)将加载到 CLR 中。CLR 会执行实时 (just in time,JIT) 编译以将 IL 代码转换为本机机器指令。CLR 还提供与自动垃圾回收、异常处理和资源管理有关的其他服务。由 CLR 执行的代码有时称为“托管代码”,与之相对应的是 编译为面向特定系统的本机机器语言的“非托管代码”。

 

语言互操作性是 .NET Framework 的一项主要功能。 由于 C# 编译器生成的 IL 代码符合公共类型规范 (CTS),因此从 C# 生成的 IL 代码可以与从 Visual Basic、Visual C++ 的 .NET 版本或者其他 20 多种符合 CTS 的语言中的任何一种生成的代码进行交互。单一程序集可能包含用不同 .NET 语言编写的多个模块,并且类型可以相互引用,就像它们是用同一种语言编写的。

除了运行时服务之外,.NET Framework 还包含一个由 4000 多个类组成的内容详尽的库,这些类被组织为命名空间,为从文件输入和输出、字符串操作、XML 分析到 Windows 窗体控件的所有内容提供了各种有用的功能。典型的 C# 应用程序使用 .NET Framework 类库广泛地处理常见的“日常”任务。

 

 

CLI

CTS:CTS包括在CLI中,

虽然每种编程语言都有自己的类型系统,但编译后都会转成CTS类型。不同的语言编写的程序直间可以相互操作。Vb的integer而C#的System.Int32都对应CTS的System.Int32类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值