1、简述 private、 protected、 public、 internal 修饰符的访问权限:
private:私有成员,在类的内部才可以访问。
protected:保护成员,该类内部和继承类中可以访问。
public:公共成员,完全公开,没有访问限制。
internal:当前程序集内可以访问(在同一命名空间内可以访问)。
2、列举ASP.NET页面之间传递值的几种方式:
使用QueryString,如:.......?id=1;response.Redirect()...
使用Session变量
使用Server.Transfer
3、面向对象的三大特性:
封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承:就是让一个类型的对象拥有另一个类型的对象的属性的方法。
多态:同一个类型的对象在执行同一个方法时,可以表现出多种行为特征。
4、重载(Overload )和覆写(Override)的区别:
概念:重载方法名相同,参数列表不同(参数类型及个数);覆写方法名、返回值类型、参数类型及个数完全相同
范围:重载在一个类中,覆写在继承关系中
限制:重载没有权限要求,覆写的方法的访问权限不能比父类更严格
Override用来重写父类的方法,重载使用相同名的方法或操作符拥有不同类型的参数。
5、C#中接口和类的异同:
相同点:
接口、类和结构都可以从多个接口继承。
接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。
接口和类都可以包含事件、索引器、方法和属性。
不同点:
不能直接实例化接口。
接口不包含方法的实现。
接口可以多继承,类只能单继承。
类定义可在不同的源文件之间进行拆分。
6、DataReader和DataSet的异同:
DataReader 和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection 的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为 DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作...