一、值类型和引用类型?
答:5个值类型=int、bool、char、double、decimal ; 2个引用类型=object、string
通常:值类型在栈(衣柜)中,引用类型在堆(床)中;
二、如何解决装箱拆箱引发的性能问题?
答:装箱=值类型-->引用类型;拆箱=引用类型-->值类型。
.NET提供了泛型来解决装箱和拆箱引起的性能问题。
三、String和StringBuilder区别?
答:String不可改变,每次改动都会更换地址;StringBuilder是动态对象,有一层缓冲区,解决字符串操作的性能问题。
少量字符操作使用String,大量则用StringBuilder。
四、类和结构区别?
答:类=引用类型;结构=值类型。
类有继承,结构没有。
五、委托?
答:委托是一种引用类型,使用Delegate关键字。可以理解为函数指针,安全可靠的。
委托可以绑定静态方法也可以是实例方法。
什么时候场景使用委托呢?答:把细节任务再次分配,执行者明确知道要做什么而此时可以委托给其他组件。
六、事件?
1.使用event Action申明事件
2.当调用某方法时触发Invoke
3.注册绑定事件方法