第一章 .net体系结构
1、c#与.net的关系
   c#本身是一种语言,尽管它面向.net环境的,但它并不是.net的一部分,.net支持的特性 c#不一定支持(VB.NET中的特性),c#支持的,net不

一定支持(运算符重载),大部分的.net基类都是用c#写的

2、什么才叫托管代码
   .net的核心是其运行库环境 -clr 在clr控制下运行的代码才称托管代码 常见非托管代码有 指针 数据库连接etc

3、为什么microsoft会认为il会提高性能
   il支持jit(just in time),只有需求那一段代码 clr才编译il为机器代码,而且还会根据处理器来优化,
   传统的编译器只对某一特定的处理器优化 ,

4、vb6到vb.net的改变
   vb6和com高度集成,不支持继承,vb6的数据类型跟.net不兼容

5、脚本语言
   .net出现使Jscript升级到jscript.net

6、什么叫内联?
   值类型一般存储在堆栈中(但如果值类型在引用类型中申明为字段,就内联存储在堆中)

7、il数据类型是什么类型?
    强数据类型,有助于,语言互操作性、垃圾收集、安全性、应用程序域(对这为什么有帮助?)

8、在c#、vb.net中 编译器识别每个预定义的类型 并映射为一个il内置类型
    cls对c#代码影响不大 ,因为c#中非兼容cls的特性很少(哪些?)

9、垃圾收集器是一个程序(哪一个程序?),当.net检测到给定进程的托管堆已满,就调用

10、垃圾收集器需要,如果存在对任何对象的引用,该引用中必须有足够的信息来确定对象类型

11、.net提供的安全性是基于代码的,可以跟window系统提供基于角色安全性相辅相承。

12、window9x上的内存保护措施没有window nt、2000、xp、2003上那么强大,所以存在由于内存写入不对应导致系统崩溃,
    在nt、2000、xp、2003还存在每个进程都有自己的安全标识

13、应用程序域是分离组件的一种方式(特殊例子:web程序)

14、程序集是自我描述的,是一个逻辑单元而非物理单元,可执行程序集跟库程序集不同的地方在于可执行程序集包括一个主程序入口点

15、系统保证私有程序集不被其他软件时用,因为应用程序只能加载位于主执行文件夹或者其子文件夹中的程序集合(那反射不是都可以加载

处于Internet上的程序集?)

16、共享程序集应该处理以下问题:名称冲突(与别的公司)、版本覆盖---使用强命名工具sn.exe

17、asp.net页面是结构化的,速度比asp快,asp是解释性的,asp.net是编译后高速缓存的