什么是CTS、CLS、CLR

CTS:Common Type System 通用类型系统。
CLS:Common Language Language Specification 通用语言规范。
CLR:Common Language Runtime 公共语言运行库。

1、CLR可以理解为一个包含运行.NET程序的引擎和一堆符合公共语言基础(CLI)结构的类库的集合。CLR是一个规范的实现,我们开发的几乎所有的.NET程序都基于CLR的类库来实现,并且运行在CLR提供的运行引擎之上。所谓.NET框架,指的就是公共语言运行库。

2、CTS定义了一组语言编译器必须遵循的规则,以定义、引用、使用和存储引用类型和值类型。因此,遵循CTS,在不同语言中编写的对象才能彼此交互。也就是说CTS定义了一个可以在CLR上运行的类型规范。通俗讲,每种语言都定义了自己的类型,.Net通过CTS提供了公共的类型,然后翻译生成对应的.Net类型。例如CTS的类型对应c#的关键字,Int32、Int16→int、String→string、Boolean→bool。

3、但并不是所有的类型都可以用于所有的语言。要建立可以在所有.NET语言中访问的组件,就要使用CLS。CLS是一种语言必须支持的最小规范要求。如果把公共方法限制为CLS,那么支持.NET的所有语言就都可以使用我们的类!也就是说CLS是CTS的一个子集,定义了所有面向.NET的程序需要符合的最小规范。通俗讲,不同语言语法的不同,每种语言都有自己的语法,.Net通过CLS提供了公共的语法,然后不同语言翻译生成对应的.Net语法。
参考:
1、https://blog.csdn.net/huang_xw/article/details/8578162
2、https://blog.csdn.net/broadview2006/article/details/3536748

什么是CTS、CLS、CLR相关推荐

  1. 什么是.Net, IL, CLI, BCL, FCL, CTS, CLS, CLR, JIT

    什么是.NET? 起源:比尔盖茨在2000年的Professional Developers Conference介绍了一个崭新的平台叫作Next Generation Windows Service ...

  2. CLR,CTS,CLS

    理论: CLR是.NET Framework的核心,而CTS(common Type System)和CLS(common language System)是CLR的核心.任何编程语言,如果想要在.N ...

  3. 什么是CTS CLS和CLR

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 什么是C ...

  4. CLS/CLR、c#(等语言)、托管、元数据、程序集 CLR学习第二课

    一.名称解释: CLS:common language specilication:通用语言规范: CLR:common language Runtime 公共语言运行时. 托管代码:编译的代码直接c ...

  5. oracle+函数怎么写if,Oracle NULLIF函数

    Oracle NULLIF函数 Oracle NULLIF函数语法为NULLIF(表达式1,表达式2),如果表达式1和表达式2相等则返回空值,如果表达式1和表达式2不相等则返回表达式1的结果. 注意: ...

  6. 笔记03-.NET高级技术

    第一章:各种知识点(新版) 3.索引器 索引器允许数字索引,和字符串,可以多个参数,索引器本质是方法 static void Main(string[] args){Person p1 = new P ...

  7. .NET的3C:CTS、CLS和CLR 以及 IL

     .NET的3C:CTS.CLS和CLR .NET结合Java和COM解决方案两者优点来解决互操作性问题.类似于COM定义的标准二进制格式,.NET定义了一个称为通用类型系统Common Type S ...

  8. clr(clr a是什么指令)

    什么是CLR公共语言运行时 4.使用统一的数据类型和类库,所以编程语言的选择变得不重要了,而且易于团队开发.代码在CLR中的运行过程1.选择编译器首先CLR选择编译器,因为CLR中可以运行不同语言开发 ...

  9. android实现首页倒计时,android 利用CountDownTimer实现时分秒倒计时效果

    利用name或id属性设置页面跳转的锚点 理论准备         网页中的链接按照链接路径的不同,可以分为3种类型,分别是内部类型.锚点链接和外部链接:         按照使用对象的不同,网页中的 ...

  10. .net 笔记尝试(二)

    .NET笔试题集(二) 1.using关键字有什么用?什么是IDisposable? using可以声明namespace的引入,还可以实现非托管资源的释放,实现了IDisposiable的类在usi ...

最新文章

  1. [转]Java中常用的集合—初学者的你不可错过的精编整理
  2. dfasdfasdfas
  3. 保护模式 对CPL,RPL,DPL 的总结
  4. linux who命令测试,Linux中的who命令详细示例
  5. C/C++extern关键字
  6. java中while循环练习,java练习 七、循环语句 do……while循环语句
  7. azure云数据库_使用Azure SQL数据库构建ASP.NET应用
  8. python︱大规模数据存储与读取、并行计算:Dask库简述
  9. 爱玩软件 | win10桌面美化
  10. windows7内部版本7601此副本不是正版 桌面背景黑屏
  11. numerov算法matlab,常微分方程边值问题
  12. 【MM采购定价】怎么样实现创建采购订单的时候,采购价格不可以更改?
  13. 54 计算机与信息科学类,关于信息科学与技术学院自动化类及计算机类2019级大类分专业学生名单公示的通知...
  14. 常用的Transformation
  15. Python2视频教程
  16. 利用函数求平均分及方差
  17. 使用冒泡排序实现数字的升序排列
  18. android手机整体规模,2021年Android手机市场规模
  19. JAVA相关编译知识
  20. 重新注册组件修复IE

热门文章

  1. 台式计算机质量检测标准,电脑机箱及整机外观检验标准.pdf
  2. hbuilder项目,直接调试真机运行可以,打包后安装在手机上就不行了,
  3. C#编程基础(下)第二课:创建Windows应用程序的方法,窗体的基本属性和方法、基本控件的使用
  4. wot服务器例行维护,wot
  5. 快手直播间爬虫可获取礼物
  6. pt-kill 用法记录
  7. mysql groupy by多个字段_mysql group by 实现对多个字段进行分组
  8. 【无人机】模拟一群配备向下摄像头的移动空中代理覆盖平面区域(Matlab代码实现)
  9. 红蓝对抗之蓝队面试题part 4
  10. 类中的方法分类及propety,classmethod,staticmethod 装饰器