dotnet之葵花宝典(综合整理版).doc

dotnet之葵花宝典(综合整理版).doc

1. CLR、CTS、CLS 分别是什么意思? 共公语言运行库,通用类型系统,公共语言规范 2. 什么是基元类型? 由编译器直接支持的数据类型称为基元类型. 例如:C#中的int,string等等就是,实际运行过程中被映射为FCL中对应的类型(java中叫做包装类) 如:System.Int32,System.String. 3. 值类型和引用类型的区别是什么?为什么要设计值类型?值类型会被GC回收吗?值类型是否能在托管堆分配? 1. a.值类型的数据存储在内存的栈中;引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的地址。 b.值类型存取速度快,引用类型存取速度慢。 c.值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用d.值类型继承自System.ValueType,引用类型继承自System.Object e.C#中基本数据类型是值类型,结构也是值类型。而数组、类、接口、字符串都是引用类型。 2. 设计值类型为了效率高,快速分配空间 3.它在栈上,不会被GC回收.(GC只回收托管堆上的内容) 4.不可以,除非将它装箱. 4. Equals、= =、ReferenceEquals 如何区别使用? Equals确定指定的实例是否被视为相等,但是如果为空就不能被调用,常被重写override ==:对于预定义的值类型,如果操作数的值相等,则相

文档评论(0)

1亿VIP精品文档

相关文档