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:
12. .NET的跨平台性
简单说就是.NET是跨语言的平台,同时也支持跨平台的语言。跨语言的平台是指它支持多种编程语言,支持跨平台的语言理论上是说.NET可以在非Windows之外的OS上运行。不过,对于后者,MS本身并没有做这个工作,仅仅有2个开源的架构在提供有限的支持:
分享到:
相关推荐
1: .net framework 由两个部分组成:CLR 和 FCL。 2:在CLR中,所有错误都是通过异常来报告的。...7:无论使用哪一种语言,类型的行为是完全一致的,因为类型的行为最终由CLR的CTS来定义。 8:使用[assembly:CLSCo
了解.NET Framework 的结构 理解.NET Framework 的基本概念 CLR JIT CTS MSIL 了解 .NET Framework 命名空间 了解C#程序的基本结构
C#与NET平台介绍:了解.NET Framework 的结构 理解.NET Framework 的基本概念 CLR JIT CTS MSIL 了解 .NET Framework 命名空间 了解C#程序的基本结构
了解 .NET Framework ...理解 .NET Framework 的基本概念 公共语言运行时(CLR) 通用类型系统 ( CTS ) Microsoft 中间语言(MSIL) 实时JIT编译器(JIT) 了解 .NET Framework 命名空间 了解 C# 应用程序的基本结构
了解.NET Framework 的结构 理解.NET Framework 的基本概念 CLR JIT CTS MSIL 了解 .NET Framework 命名空间 了解C#程序的基本结构
理解.NET Framework 的基本概念 CLR JIT CTS MSIL 了解 .NET Framework 命名空间 了解C#程序的基本结构 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
4.1.2 类的基本概念 4.2 类成员 4.2.1 数据成员 4.2.2 定义方法 4.2.3 定义属性 …… 第二篇 编程基础 第5章 数组和集合 第6章 字符串和正则表达式 第7章 结构化异常处理 第8章 委托与事件 第三篇 高级课题 第9章 ...
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.NET Framework由框架类库(FCL)和公共语言运行时(CLR)两个主要组件构成 CLR是管理用户代码执行的现代运行时环境,它提供JIT 编译、内存管理、异常管理和调试等方面的服务 CTS定义声明、定义和管理所有...
A.CLR(公共语言运行库) B.CLS(公共语言规范) C.MSIL(微软中间语言) D.CTS(通用类型系统) 2. 在 Visual Studio.NET窗口中,在__________窗口中可以察看当前项目的类和类型的层次 信息。(B) A.解决方案资源管理器 B....
A.CLR(公共语言运行库) B.CLS(公共语言规范) C.MSIL(微软中间语言) D.CTS(通用类型系统) 2. 在 Visual Studio.NET 窗口中,在__________窗口中可以察看当前项目的类和类型的层次 信 A.解决方案资源管理器 B.类...
CTS、CLS和CLR分别作何解释? <br/>4.列举一下你所了解的XML技术及其应用 <br/>5.值类型和引用类型的区别?写出C#的样例代码。 <br/>6.ADO.net中常用的对象有哪些?分别描述一下。 <br/>7.如何理解...
是英文的,全面包含了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#垃圾回收机制我们首先说一下CLR(公共语言运行时,Common Language Runtime)它和Java虚拟机一样是一个运行时环境,核心功能包括:内存管理、程序集加载、安全性、异步处理和线程同步。 CTS(Common Type ...