`
kent0113
  • 浏览: 3774 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

C# CLR, CTS…等等基本概念

 
阅读更多
1. CLR – Common Language Runtime
为.NET应用程序提供运行环境。定位、加载和管理.NET类型,同时也负责一些底层细节的工作,如内存管理、创建应用程序域、线程和对象上下文边界,安全检查等等。

2. CTS – Common Type System
完整描述了运行库所支持的所有可能的数据类型和编程结构,指定了这些实体之间如何交互,也规定了它们在.NET元数据格式中的表示。
CTS包括5种基本类型:class, interface, enum, delegate and struct
CTS可能的成员:构造器,终结器,静态构造函数,嵌套类型,运算符,方法,属性,索引器,字段,只读字段,常量,事件

3. CLS – Common Language Specification
定义了一个让所有.NET语言都支持的公共类型和编程结构的子集。这个可以说是所有语言特性的一个子集,而CTS是所有语言特性的一个合集。
CLS定义了一套规则,当程序完全遵守这套规则时,才能确保你的程序能被所有其它.NET语言正确调用。可以通过特性[assembly: System.CLSCompliant(true)]来进行CLS规则验证。

4. BCL - Basic Class Library
所有.NET语言都可以调用的一套公共类库,封装了很多最基本的类型和服务。

5. Managed/Unmanaged code
运行在CLR中的代码叫做managed code,反之称为unmanaged code。

6. C#的优点
不需要指针
自动管理内存 - 垃圾回收机制
面向对象语言
操作符重载
支持Attribute
泛型编程更安全
匿名函数的支持
简化的委托/事件模型
partial class
3.5支持的特性有:
LINQ
匿名类型的支持
扩展方法来扩展现有类型
Lambda语法
新的初始化对象语法

7. IL, CIL或者MSIL
中间语言,或者成为公共中间语言。所有的.NET语言代码编译后都转换为中间语言。目的是为了支持多语言。

8. 程序集内容
主要包含了编译过的IL指令集、类型metadata和manifest(程序集本身的metadata)。类型metadata的作用主要是反射、对象序列化、晚期绑定、wcf以及vs的智能感知等等。manifest除了记录本程序集的版本、模块号之外,它还记录了让程序集正常运转的外部程序集信息。

9. JIT - just in time
即时编译器。程序运行是尝试编译IL指令,生成机器可识别的机器码,并保存编译结果。下次调用相同代码时不需要重新编译。

10. namespace
简单说就是对.NET类型的分组机制。我们最常用到的系统namespace有System.Data, System.IO等等。除了System打头的命名空间,最有用的还有以Microsoft开头的命名空间,包含在其中的类型一般都和微软操作系统服务相关,不能运行在其他OS上,如MAC,Linux等等。

11. 查看IL,反编译
使用.NET自带工具ildasm可以查看程序集IL。使用reflector可以反编译程序集,你可以从http://www.red-gate.com/products/reflector/下载。

12. .NET的跨平台性
简单说就是.NET是跨语言的平台,同时也支持跨平台的语言。跨语言的平台是指它支持多种编程语言,支持跨平台的语言理论上是说.NET可以在非Windows之外的OS上运行。不过,对于后者,MS本身并没有做这个工作,仅仅有2个开源的架构在提供有限的支持:
分享到:
评论

相关推荐

    重温C# clr 笔记总结

    1: .net framework 由两个部分组成:CLR 和 FCL。 2:在CLR中,所有错误都是通过异常来报告的。...7:无论使用哪一种语言,类型的行为是完全一致的,因为类型的行为最终由CLR的CTS来定义。 8:使用[assembly:CLSCo

    c#入门经典ppt.ppt

    了解.NET Framework 的结构 理解.NET Framework 的基本概念 CLR JIT CTS MSIL 了解 .NET Framework 命名空间 了解C#程序的基本结构

    C#入门经典教程.ppt

    C#与NET平台介绍:了解.NET Framework 的结构 理解.NET Framework 的基本概念 CLR JIT CTS MSIL 了解 .NET Framework 命名空间 了解C#程序的基本结构

    C#程序设计课件

    了解 .NET Framework ...理解 .NET Framework 的基本概念 公共语言运行时(CLR) 通用类型系统 ( CTS ) Microsoft 中间语言(MSIL) 实时JIT编译器(JIT) 了解 .NET Framework 命名空间 了解 C# 应用程序的基本结构

    C#入门经典

    了解.NET Framework 的结构 理解.NET Framework 的基本概念 CLR JIT CTS MSIL 了解 .NET Framework 命名空间 了解C#程序的基本结构

    c#程序设计大学精品课程PPT

    理解.NET Framework 的基本概念 CLR JIT CTS MSIL 了解 .NET Framework 命名空间 了解C#程序的基本结构 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    Visual C# 2008从入门到精通.pdf

    4.1.2 类的基本概念 4.2 类成员 4.2.1 数据成员 4.2.2 定义方法 4.2.3 定义属性 …… 第二篇 编程基础 第5章 数组和集合 第6章 字符串和正则表达式 第7章 结构化异常处理 第8章 委托与事件 第三篇 高级课题 第9章 ...

    C#与.NET3.5高级程序设计(第4版) 中文1

    6.1 继承的基本机制 145 6.2 回顾Visual Studio类关系图 148 6.3 第二个支柱:继承 149 6.4 包含/委托编程 154 6.5 第三个支柱:C#的多态支持 156 6.6 基类/派生类的转换规则 166 6.7 超级父类:System...

    C# .NET 课件 最好的

    C#.net.NET Framework由框架类库(FCL)和公共语言运行时(CLR)两个主要组件构成 CLR是管理用户代码执行的现代运行时环境,它提供JIT 编译、内存管理、异常管理和调试等方面的服务 CTS定义声明、定义和管理所有...

    C#考试题目大全C#考试题目大全

    A.CLR(公共语言运行库) B.CLS(公共语言规范) C.MSIL(微软中间语言) D.CTS(通用类型系统) 2. 在 Visual Studio.NET窗口中,在__________窗口中可以察看当前项目的类和类型的层次 信息。(B) A.解决方案资源管理器 B....

    C#考试题目大全(共167页)

    A.CLR(公共语言运行库) B.CLS(公共语言规范) C.MSIL(微软中间语言) D.CTS(通用类型系统) 2. 在 Visual Studio.NET 窗口中,在__________窗口中可以察看当前项目的类和类型的层次 信 A.解决方案资源管理器 B.类...

    C#.Net的常见面试试题

    CTS、CLS和CLR分别作何解释? <br/>4.列举一下你所了解的XML技术及其应用 <br/>5.值类型和引用类型的区别?写出C#的样例代码。 <br/>6.ADO.net中常用的对象有哪些?分别描述一下。 <br/>7.如何理解...

    Professional C# 3rd Edition

    是英文的,全面包含了c#的各方面。是非常好的一本书,绝对值得下载。 Introduction xxvii Part I: The C# Language 1 Chapter 1: .NET Architecture 3 The Relationship of C# to .NET 4 The Common Language ...

    浅谈关于C#的垃圾回收机制

    理解C#垃圾回收机制我们首先说一下CLR(公共语言运行时,Common Language Runtime)它和Java虚拟机一样是一个运行时环境,核心功能包括:内存管理、程序集加载、安全性、异步处理和线程同步。 CTS(Common Type ...

Global site tag (gtag.js) - Google Analytics