第一部分
1. 请简述值类型与引用类型的区别
1.值类型存储在内存栈中,引用类型数据存储在内存堆中,实际存放的是内存堆中对象的地址。
2.值类型存取快,引用类型存取慢。
3.值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用。
4.栈的内存是自动释放的,堆内存是.NET中会由GC来自动释放。
5.值类型继承自System.ValueType(它的父类是System.Object),引用类型继承自System.Object。
2.C#中所有引用类型的基类是什么
引用类型的基类是System.Object 值类型的基类是System.ValueType
同时,值类型也隐式继承自System.Object
3.请简述ArrayList和List的主要区别
ArrayList存在不安全类型(ArrayList会把所有插入其中的数据都当做Object来处理)
装箱拆箱的操作(费时)
IList是接口,AIrrayList和List都是实现了该接口的类,可以被实例化。
4.请简述GC(垃圾回收)产生的原因,并描述如何避免?
GC回收堆上的内存
避免:
1)减少new产生对象的次数
2)使用公用的对象(静态成员),但是静态对象会一直存在,直到退出程序
3)将String换为StringBuilder
5.请描述Interface与抽
1. 请简述值类型与引用类型的区别
1.值类型存储在内存栈中,引用类型数据存储在内存堆中,实际存放的是内存堆中对象的地址。
2.值类型存取快,引用类型存取慢。
3.值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用。
4.栈的内存是自动释放的,堆内存是.NET中会由GC来自动释放。
5.值类型继承自System.ValueType(它的父类是System.Object),引用类型继承自System.Object。
2.C#中所有引用类型的基类是什么
引用类型的基类是System.Object 值类型的基类是System.ValueType
同时,值类型也隐式继承自System.Object
3.请简述ArrayList和List的主要区别
ArrayList存在不安全类型(ArrayList会把所有插入其中的数据都当做Object来处理)
装箱拆箱的操作(费时)
IList是接口,AIrrayList和List都是实现了该接口的类,可以被实例化。
4.请简述GC(垃圾回收)产生的原因,并描述如何避免?
GC回收堆上的内存
避免:
1)减少new产生对象的次数
2)使用公用的对象(静态成员),但是静态对象会一直存在,直到退出程序
3)将String换为StringBuilder
5.请描述Interface与抽