`
kent0113
  • 浏览: 4048 次
  • 性别: 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原理与线程池详解

    ### C# CLR原理与线程池详解 #### 一、CLR与.NET框架 **CLR**(Common Language Runtime,公共语言运行时)是.NET框架的核心组件之一,它为.NET应用程序提供了执行环境,确保了代码的安全性、可靠性和兼容性。深入...

    CLR via C#PDF

    《CLR via C#》是一本非常有价值的书籍,它不仅深入讲解了.NET框架和C#语言的关键概念和技术,还提供了大量实用的示例和最佳实践。通过阅读本书,读者可以更好地理解和掌握.NET平台的核心技术和编程技巧。

    C# .NET 基本概念.doc

    C# .NET基本概念是编程领域中的核心概念,对于理解和编写C#应用程序至关重要。以下是这些概念的详细解析: 1. 访问修饰符:private、protected、public、internal - private:私有成员,仅限于类的内部访问,对...

    CLR+Via+C#

    在阅读这本书之前,读者应该已经熟悉C#编程语言和.NET框架的基本概念,因为书中不会涉及这些基础知识的介绍。《CLR via C#》的读者群体通常是那些具有一定编程经验并且希望进一步提高自己技能的中级到高级开发人员。...

    2018C#面试整理

    这些规范包括CIL(中间语言)、CTS(通用类型系统)、CLS(公共语言规范)等。.NET框架就是基于CLI规范的一个具体实现。 **1.3 介绍CLR (Common Language Runtime)** CLR是.NET框架的一部分,负责管理代码的执行...

    重温C# clr 笔记总结

    类型一致性是CLR的基石,无论使用哪种.NET语言,类型的行为都是由CLR的公共类型系统(CTS)定义的,确保了跨语言的兼容性。可以通过[assembly:CLSCompliant(true)]来检查程序集是否符合CLS(Common Language ...

    C#基础知识、关键概念等

    ### C#基础知识、关键概念详解 #### 一、C#简介 C#(发音为“See Sharp”)是一种现代编程语言,它具有面向对象和...通过上述内容的学习,开发者可以全面了解C#的基本概念和技术细节,为实际项目开发打下坚实的基础。

    CLR via C#

    根据提供的信息,我们可以推断出该资源主要与微软技术栈中的多个方面有关,特别是与C#编程语言、CLR(Common Language Runtime)、以及SQL Server 2005等相关的书籍资料。下面将对这些知识点进行详细解析。 ### C# ...

    clr基础入门教程

    《CLR基础入门教程》深入解析了CLR(Common Language Runtime,公共语言运行时)的基本概念及其在.NET Framework中的作用。本书由瑞奇特(Jeffrey Richter)撰写,基于Microsoft Visual Studio 2010,.NET Framework...

    c#入门经典ppt.ppt

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

    CLR详解

    除了CLR之外,.NET Framework还包括其他关键部分,如BCL和CTS等,这些部分共同构成了.NET Framework的基础框架。 - **CLR的角色**: - 执行.NET程序。 - 提供类型安全性、垃圾回收等服务。 - 管理内存分配和释放...

    C#入门经典教程.ppt

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

    C#入门经典

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

    C#面试基础题(几个基本的面试题 但很多人不是很清楚)

    **CTS**(Common Type System)是.NET框架中的一个重要组成部分,它定义了一组规则,确保所有.NET语言都可以使用相同的基本数据类型和面向对象的功能。CTS的存在保证了不同.NET语言编写的代码之间能够无缝地进行交互...

    C#-编程基础练习题与答案2.doc

    本篇文章将总结 C# 编程基础知识中的重要概念,包括面向对象思想、ASP.NET 用户控件、应用程序域、强类型系统、装箱和拆箱、重载、多态、CTS、CLS 和 CLR 等。 面向对象思想 面向对象思想是程序设计语言的核心思想...

    C#程序设计课件

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

    C#与.NET概述ppt课件.ppt

    本资源为C#与.NET概述ppt课件,涵盖了C#语言基本概念、.NET Framework架构、CLR、JIT、CTS、MSIL等关键技术概念。同时,还介绍了VS.NET的使用、C#程序的基本结构、.NET Framework的类库结构等内容。 1. .NET ...

    传智播客 C#面向过程学习笔记

    在学习C#之前,需要了解一些基本概念,如变量、数据类型、运算符、控制结构等。 变量是指一块内存空间,我们可以通过变量名称来存取数据。变量的声明格式为:数据类型 变量名。变量的命名规则是:变量名必须以字母...

Global site tag (gtag.js) - Google Analytics