一些常见的C#面试题(笔试题较少)
1、简述private、protected、public、internal 修饰符的访问权限。
private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 当前程序集内可以访问。
2、ADO.NET 中的五个主要对象
a)Connection:连接对象。
b)Command:命令对象,指示要执行的命令和存储过程。
c)Datareader:是一个向前的只读的数据流。
d)Dataadapter:是功能强大的适配器,支持增删改查的功能。
e)Dataset:是一个数据级对象,相当与内存中的一张表或多张表。
3、列举ASP.NET 页面之间传递值的几种方式。
a)QueryString:将传送的值显示在浏览器的地址栏中(传递数组或对象,不能用这个方法)。
b)Session:将每份数据存储于服务器变量中,安全性高,所以常用于用户身份的验证功能中。
c)Cookie:Cookie通过HTTP头在浏览器和服务器之间来回传递的(Cookie只能包含字符串的值)。
Application:作用范围是整个全局,也就是说对所有用户都有效。
4、为什么要使用泛型?(至少说出两个理由)
a)在编译期就能够进行强制的类型检查,比运行时错误的排查难度减小。
b)避免了类型的转换。
c)开发简单(代码更加的简单)。
5、请描述抽象类和接口的区别?
a)接口可以多继承,抽象类不能实现多继承。
b)接口只能定义抽象规则,抽象类既能定义抽象规则也能提供已实现的成员
c)接口是一组行为规范,抽象类是一个不完全的类,着重于族的概念
d)接口支持回调,抽象类不能实现回调,因为继承不支持。
e)接口可以作用于值类型和引用类型,抽象类只能作用于引用类型(例如:Struct只能继承接口)
f)如果要设计小而简练的功能块,则使用接口,如果要设计大的功能单元,则使用抽象类
6、引用类型和值类型的区别?请各列出5个类型?
a)值类型存取速度快,引用类型存取速度慢。
b)值类型表示实际数据,引用类型