.Net 面试题 3C(CTS,CLS,CLR)】的更多相关文章

什么是.NET? 起源:比尔盖茨在2000年的Professional Developers Conference介绍了一个崭新的平台叫作Next Generation Windows Service,也就是后来的.NET. 软件层:.NET可以被看作是介于操作系统和编程语言之间的软件层,它可以支持多种编程语言,包括C#,VB.NET,C++,F#,等等. 用来产生托管代码的框架.平台:传统的编译方式是"源代码→编译→可执行文件",在.NET中编译方式是"源代码→编译→程序集…
1.CTS(Common Type System)通用类型系统 CTS不但实现了COM的变量兼容类型,而且还定义了通过用户自定义类型的方式来进行类型扩展.任何以.NET平台作为目标的语言必须建立它的数据类型与CTS的类型间的映射.所有.NET语言共享这一类型系统,实现它们之间无缝的互操作.该方案还提供了语言之间的继承性.例如,用户能够在VB.NET中派生一个由C#编写的类.我们可以将CTS 看成是所有.NET 语言的superset (union),而符合CTS 的各种不同的语言,其实都只是CT…
1)CTS通用类型系统(Common Type System) CTS不但实现了COM的变量兼容类型,而且还定义了通过用户自定义类型的方式来进行类型扩展.任何以.NET平台作为目标的语言必须建立它的数据类型与CTS的类型间的映射.所有.NET语言共享这一类型系统,实现它们之间无缝的互操作.该方案还提供了语言之间的继承性.例如,用户能够在VB.NET中派生一个由C#编写的类.我们可以将CTS 看成是所有.NET 语言的superset (union),而符合CTS 的各种不同的语言,其实都只是CT…
既然要学.NET,就要先认识认识她,我不喜欢大段大段文字的东西,自己通过理解,画个图,来看看.NET的沉鱼落雁,闭月羞花之容. 最下层蓝色部分是.NET Framework的基础,也是所有应用软件的基础..NET Framework不是凭空出来的,实际上API,COM+,和一些相关驱动依然是它的基石..NET Framework只不过是对这些前辈们进行了系统的封装和扩充,在这个过程中,吸取了Java框架的很多经验.关于Win32 API与.NET Framework API的对应关系,可以参考M…
So  The First Is CLR CLR的全程是Common Language Runtime 公共语言运行时 可以把他理解为包含运行.net程序的引擎 和 一堆符合公共语言基础(CLI)的类库的集合.它是一个规范的实现,我们开发的大多数.net程序都是基于CLR的类库实现 并运行在CLR的运行引擎之上.通常所说的.NET框架 就是CLR CLI (Common Language Infrastructure) 公共语言基础 是Microsoft想ECMA提交的一份语言和数据格式规范.C…
编译C#————>程序集(.exe..dll[MSIL]).元信息[数据信息].可选资源[图片.声音]) |                     | |                     (Microsoft Intermediate Language 微软中间语言) | | JIT编译 (Just-In-Time 仅在需要时才编译MSIL) | ——> 机器代码 <———— .NET CLR (Common Language Runtime 公共语言运行时) 运行     /…
C/C++关键字篇   语言是编程的基础,掌握基本的语言知识是编程的前提条件.关键字是组成语言的最基本单位,对关键字的理解,有助于编写高质量的代码. 1 static(静态)变量有什么作用? 在函数体内,被声明为静态的变量只初始化一次,以后该函数再被调用,将不会再初始化,这就使变量具有"记忆"功能. 在模块内(但在函数体外),如果把一个变量或者函数声明为静态的,那么可以将其作用域被限制在本模块内,起一个"隐藏"的作用,避免命名冲突. 默认初始化为0,因为静态变量存储…
1. Given a rectangular (cuboidal for the puritans) cake with a rectangular piece removed (any size or orientation), how would you cut the remainder of the cake into two equal halves with one straight cut of a knife?2. Given an array of size N in whic…
1.请你说说.net 中类和结构的区别? 答:结构和类具有大体的语法,但是结构受到的限制比类多.结构不能声明默认的的构造函数,为结构的副本是编译器创建和销毁的,所以不需要默认的构造函数和析构函数,结构是值类型.所以对结构变量所做的改变不会影响其的原值,而类是应用类型.改变其变量的值会改变其原值,声明结构用关键字struct关键字,声明类用class关键字,向方法传递结构是通过值传递的,而不是通过引用.与类不同,结构的实例化可以不使用New关键字.类可以实现接口. 2.死锁的必要条件?怎么克服?…
1: .NET和c#有什么区别? 答: .NET一般是指.NET FrameWork框架,是一种平台,一种技术 c#是一种编程语言,是可以基于.NET平台的应用 2: c#中的委托是什么?事件是不是一种委托? 答: 1:委托可以理解为指向一个函数的引用,它可以把一个方法作为参数代入另一个方法 2:是,事件是一种特殊的委托 3: 简述 private , protected , public , internal 修饰符的访问权限 答: private: 私有成员,在类内部才可以访问 protec…
参考链接:http://blog.csdn.net/shanyongxu/article/details/50849111 认识.NET平台 可能很多人问什么是.NET框架,它包含了哪些内容?为开发程序提供了哪些支持?很多朋友对这类问题的第一反应可能是.NET框架所提供的庞大类库以及编写代码所采用的C#语言,实际上,远远不止这些. 要描述.NET框架,自然会遇到与其相关的一系列专业的技术术语和缩写,相信大家已经见过很多了,比如:CLI,CIL,CTS,CLS,CLR,JIT,BCL,FCL,Mo…
什么是CLR? CLR,公共语言运行时(Common Language Runtime)是一个由多种语言使用的“运行时”.他的核心功能包括(内存管理.程序集加载.安全性.异常处理和线程同步),可以被面向CLR的所有语言使用.这里的“运行时”,就是一个运行时环境,就像JAVA虚拟机一样.哦,错了,确切的说是JRE(Java  Runtime Enviromental).JVM确切的说不是一个实体的java虚拟机,而是一个规范,就像CLI一样.会有不同的实现,如:JRockit还是Hotspot(前…
在学习.NET的过程中,都会不可避免地接触到这三个概念,那么这三个东西是什么以及它们之间的关系是怎样的呢?任何编程语言,如果想要在.NET CLR上执行,就必需提供一个编译器,将此语言的程序编译成.NET CLR所认识的metadata以及中间语言IL,符合CTS的规定. (1)CTS通用类型系统(Common Type System) 任何以.NET平台作为目标的语言必须建立它的数据类型与CTS的类型间的映射.所有.NET语言共享这一类型系统,实现它们之间无缝的互操作.该方案还提供了语言之间的…
第1讲:面试前期准备 1.了解相关技术职务需要的技术人才                              2.准备一份出色的个人简历 第2讲:面试前期准备                             1. 多渠道获取面试途径                            2.投递简历注意事项                            3. 掌握面试过程…… 第3讲:全面认识.NET框架 1.面试题 介绍CTS.CLS.CLR               …
1.using关键字有什么用?什么是IDisposable? using可以声明namespace的引入,还可以实现非托管资源的释放,实现了IDisposiable的类在using中创建,using结束后会自动调用该对象的Dispose方法,释放资源.using其实等价于try……finally,用起来更方便. 2.Assembly.Load("foo.dll"); 这句话是否正确? 错误,正确的应该是Assembly.Load("foo"); 或者Assembly…
题目来源于传智播客和各大互联网,复习.重新整理贴出来. 1.简述 private. protected. public. internal.protected internal 访问修饰符和访问权限 private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该类内部和继承类中可以访问. public : 公共成员,完全公开,没有访问限制. internal: 当前程序集内可以访问. protected internal: 访问仅限于当前程序集或从包含类派生的类型.…
第一章 CLR 的执行模型(2) 本篇内容大纲 Framework 类库(Framework Class Library , FCL) 通用类型系统(Common Type System,CTS) 公共语言规范(Common Language Specification,CLS) 总结 一.Framework 类库(Framework Class Library , FCL) 1.mscorlib.dll (Microsoft Core Library,微软核心类库) 我们先来看个例子.新建一个…
在了解CLR运行之前让我们先简单了解一下IL 除了编译器编译的IL代码,IL也是一种汇编语言,也就是说我们可以直接编写IL代码,当然也有对应的IL编译器,值得一提的是对于面向CLR的其他语言,CLR只开放了一部分功能,而IL可以访问CLR的全部功能. 前面一章我们介绍了CLR的所有初始工作,最后在调用Main入口方法的时候,CLR需要将程序集中的IL代码转为CPU指令,也就是CLR中JIT(just-in-time)编译器的职责,CLR会即时编译IL代码 即时编译:在运行的时候才会进行编译(类似…
1.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty? foreach (System.Windows.Forms.Control control in this.Controls){    if (control is System.Windows.Forms.TextBox)    {        System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control;        tb.T…
一.C# 理论 1.1.简述 private. protected. public. internal.protected internal 访问修饰符和访问权限 private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该类内部和继承类中可以访问. public : 公共成员,完全公开,没有访问限制. internal: 当前程序集内可以访问. protected internal: 访问仅限于当前程序集或从包含类派生的类型. 不带修饰符的类是默认interna…
最近买了一本书<CLR via C#>阅读了第一章 - CLR 的执行模型,对 .NET 一直提到的 CLR 和 .NET Framework 有了一个大致的了解.我理解主要体现在: ■ 各种术语有了一个大致的体会:CTS CLS 和 CLI .CLR 与 .NET Framework. IL(Intermediate Language) .CIL(Common Intermediate Language)和 托管代码(Managed Code). ■ 用 C# 写完一个程序被编译成应用程序后…
一.抽象与接口的区别: ,抽象(abstract): ()抽象类中可以有抽象方法,也可没有: ()抽象方法包含实现,也可以由子类实现: ()抽象类不能被sealed修饰,只能使用abstract关键字 ()抽象方法不能在抽象类外部声明: ()抽象类只能单继承: ()可以有虚方法(virtual),在不同的继承中,可以有不同的实现(需要override重写): .接口(interface): ()接口比抽象类更抽象: ()可以多继承: ()不包含方法的实现,只能由子类实现: 二.多态: 概念上:一…
1.using关键字有什么用?什么是IDisposable? using可以声明namespace的引入,还可以实现非托管资源的释放,实现了IDisposiable的类在using中创建,using结束后会自动调用该对象的Dispose方法,释放资源.using其实等价于try……finally,用起来更方便. 2.Assembly.Load("foo.dll"); 这句话是否正确? 错误,正确的应该是Assembly.Load("foo"); 或者Assembly…
1.c#访问修饰符有哪些,有何异同? private:私有类型,只用当前类可以访问 protected:访问包含类或者类派生的类 internal:程序集类型,在相同的命名空间内可以访问 public:访问成员没有限制,属于最高级别访问权限 protected internal:访问仅限于包含类派生的当前程序集或者类型 也就是同一程序集对象,或者该类及其子类可以访问 (一般不用写) 2.CTS,CLS,CLR ? CTS:通用类型系统,实现com的变量兼容类型,而且还定义通用用户自定义类型的方式…
一.C# 理论 1.1.简述 private. protected. public. internal.protected internal 访问修饰符和访问权限 1.2.简述abstract.sealed类修饰符 1.3.简述C#成员修饰符 1.4.ADO.NET中的五个主要对象 1.5.列举ASP.NET 页面之间传递值的几种方式和优缺点 1.6.C#中的委托是什么?事件是不是一种委托?事件和委托的关系 1.7.重写(override)与重载(overload)的区别 1.8.C#中索引器是…
一.C# 理论 1.1.简述 private. protected. public. internal.protected internal 访问修饰符和访问权限 private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该类内部和继承类中可以访问. public : 公共成员,完全公开,没有访问限制. internal: 当前程序集内可以访问. protected internal: 访问仅限于当前程序集或从包含类派生的类型. 不带修饰符的类是默认interna…
还是啰嗦下:文章短并不代表文章质量不高.我最喜欢用干货性的以及总结性的语言 让大家明白文章要表达的内容.这一切,都是来自多年对.NET 的一些领悟以及一些理解. 不长篇大论,一本人也没时间,二本人也不想浪费大家宝贵的时间. 微软的 C# , IL,CLR,以及 Cup 之间的关系,网络上的文章很多,一些朋友看了一大堆也没看出所以然.一些文章 讲他们之间的关系,但是看了整篇文章都在阐述CLR 的内在原理. 我这里旨在用最简单的表述帮助大家理解他们之间的关系. NOTIC START---开始: C…
1.NET简单解说 l 面向对象提升 OOP(Object Oriented  Programming)面向对象编程 AOP:(Aspache  Oriented Programming):面向切面编程 OOD(Object Oriented  Designer)面向对象设计(架构师)   3万/month OOA(Object Oriented  Analysis)面向对象分析  (分析师) 10万/month DBA(Database Administrator,简称DBA) l 泛型集合对…
重新学习下.NET框架,在这里将会对.net框架逐步的学.加深一下对.net的认识.如果那个地方有错误,希望大家能够指出来.谢谢. 知识有限,先逐步了解下.net包含的什么.我就是写写我目前想了解的内容.做下笔记.有的是从别的地方看到了.感觉不错就记下来了.   我们大家都知道,.NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境..NET框架的目的是便于开发人员更容易地建立Web应用程序和Web服务,使得Internet上的各应用程序之间,可以使用Web服务进行沟通.从…
    本学习主要参考Andrew Troelsen的C#与.NET4高级程序设计,这小节主要述说以下几个东西:     宏观上讨论一下.net相关的主题:程序集.CIL(Common Intermediate Language,公共中间语言)和JIT(just-in-time,即时)编译.还有阐述一下.NET Framework不同方面之间的关系:CLR(公共语言运行库).CTS(公共类型系统).CTS(公共语言规范).     最后将会简单阐述一下.NET的基础类库(缩写为BCL或者FCL)…