1、C#的委托是什么,事件是不是一种委托?
答:委托可以把一个方法作为参数代入另一个方法。
委托可以理解为指向一个函数的引用。
委托也可以理解为指向一个函数的指针。
委托和事件没有可比性,因为委托是类型,事件是对象,但事件又可以理解为是一种特殊的委托。
2、什么是GC,为什么会有GC?
答:GC,就是一种自动回收内存的机制,释放已经不再使用的对象的内存空间。GC可以在创建新对象时开辟内存空间,在使用完后释放出内存,这样就避免了内存冗余的现象,大大提高性能,避免了操作人员直接操作内存,提高了安全性。
3、概述反射和序列化。
答:反射能将某个程序集(包括对象 模块等)内的几乎所有信息解析出来。序列化是将某个对象改写成某种信息格式 然后存储存于某种介质上的过程 。
Sql Server数据库
1、维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么?
答:触发器:触发器是一种特殊类型的存储过程,触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。
尽可能用约束(包括CHECK、主键、唯一键、外键、非空字段)实现,这种方式的效率最好;其次用触发器,这种方式可以保证无论何种业务系统访问数据库都能维持数据库的完整性、一致性;最后再考虑用自写业务逻辑实现,但这种方式效率最低、编程最复杂,当为下下之策。
触发器的缺点是:当数据库之间导入导出的时候会引起不必要的触发逻辑。也会影响只想速度。