(1)C#与.NET Framework、FCL与CLR

C#语言是最主要的.NET Framework兼容语言,它是为了和.NET Framework一起使用而专门设计的。但是C#本身是一门语言,它只是用于生成面向.NET环境的代码,并不是.NET的一部分。换言之,C#编写的代码总是运行在.NET Framework中。而且,在很多时候,C#的特定功能依赖于.NET。比如,在C#中声明一个int类型,实际上是.NET中System.Int32类的一个实例。.NET Framework 支持的一些特性,C#并不支持;C#支持的一些特性,.NET Framework并不支持,例如运算符重载。

 托管代码与非托管代码。托管代码是指为.NET Framework 编写的代码,它在.NET Framework 的公共语言运行库(CLR)控制之下运行,类似于Java的虚拟机机制。托管代码应用程序可以获得CLR服务,例如类型检查、自动垃圾回收和安全支持等。非托管代码指不在CLR控制下的运行的代码,由操作系统直接运行。

托管代码不能直接写内存,是安全的,非托管代码是非安全代码,可以使用指针操作内存。

.NET Framework 的组成主要由FCL(.NET Framework 类库)和CLR(公共语言运行库)两部分组成。

FCL是一个全面的类库,它是生成.NET Framework 应用程序、组件和控件的基础。FCL由命名空间组成。每个命名空间都包含可在程序中应用的类、结构、委托和接口等。常见的命名空间有System、System.Windows等。

CLR是.NET Framework 核心组件,负责管理程序的执行。主要由公共语言规范(CLS)和通用类型系统(CTS)两部分组成。CLS定义了不同语言之间必须遵守的共同标准,包括函数调用方式、参数调用方式、数据类型和异常处理方式。通用类型系统用于解决不同编码语言的数据类型不同的问题,实现不同语言之间数据类型的统一。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值