C#知识点
时间:2011-06-11 来源:亦非寻常
这里整理的知识点主要是按照C#程序员面试时可能遇到的做个整理,基本是来自网友,算是系统化的学习。
1.访问修饰符的访问权限:
private:在类的内部可以访问。
protected:在类的内部和继承类中可以访问。
public:完全公开,没有访问限制。
internal:在同一命名空间内可以访问。
2.C#中的委托是指将一个方法作为参数传入另一个参数,可以理解为指向一个函数的引用。
委托是一种特殊的委托。
3.override(重载)与overwrite(重写)的区别:
重载是方法的名称相同,参数或者参数类型不同,进行多次重载以适应不同的需求。
重写是进行基类中方法的重写,为了适应需要。
4.C#中索引器,可以根据任意类型进行索引。
5.用.Net做B/S结构的系统,一般采用三层结构来开发:
数据层:对数据库进行各种操作;
业务层:实现与表示层的沟通和相关逻辑的实现。
表现层:为了与用户交互。
6.虚方法:在基类中的方法或属性前加"virtual"关键字修饰,这样在子类中就可以重写该方法或属性。
抽象类:类的修饰符是"abstract",表示这个类不能被实例化,抽象类中可以包含抽象成员,但是不能被密封。
当从抽象类派生出非抽象类时,必须实现抽象类中所有抽象数据成员。
7.名词解释:
CTS:通用语言系统。
CLS:通用语言规范。
CLR:公共语言运行库。
GC:垃圾收集器。
8.受管制的代码就是 unsafe:非托管代码,不经过CLR运行。
9.装箱:从值类型接口转换到引用类型。
拆箱:从引用类型转换为值类型。
10.类(class)和结构(struct)之间的区别:
类可以被实例化,属于引用类型,是分配在内存的堆上;结构属于值类型,是分配在内存的栈上。
11.能用foreach遍历访问的对象需要实现IEnmuerable接口或者声明GetEnumerator方法的类型。