在我们初学C#是时 ,经常会遇到很多问题,最近时间很多,特地把他们整理集合起来,其实也是对知识的一个整理和回顾,希望对也遇到此类问题的朋友有所帮助。
1 .NET中类和结构的区别?
结构和类具有大体的语法,但是结构受到的限制比类要多。类的关键字是class,而结构的关键字是struct, 结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是引用类型,改变其变量的值会改变其原值。向方法传递结构是时是通过值传递的,而不是通过引用。与类不同,结构的实例化可以不使用New关键字。类可以实现接口。
2 接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?
接口是可以继承接口的,抽象类是可以实现接口的,抽象类可以继承实体类,但是有个条件,条件是,实体类必须要有明确的构造函数。
3 谈谈final,finally,finallize的区别?
final用于申明属性,方法和类,表示属性不可变,方法不可以被覆盖,类不可以被继承。
Finally是异常处理语句结构中,表示总是执行的部分。
Finallize表示是object类一个方法,在垃圾回收机制中执行的时候会被调用被回收对象的方法。
4. HashMap和Hashtable区别?
HashMap是Hashtable的轻量级实现,非线程安全的实现他们都实现了map接口,主要区别是HashMap键值可以为空null,效率可以高于Hashtable。
5 Override, Overload,的区别?
Override是重写的意思,它表示重写基类的方法,而且方法的名称,返回类型,参数类型,参数个数要与基类相同。
Overload是重载是意思,它也表示重写基类的方法,但是只要方法名相同,别的可以不同。
6 net中读写数据库需要用到那些类?他们的作用?
DataSet:数据存储器。DataCommand:执行语句命令。DataAdapter:数据的集合,用语填充。
7. 简述 private、 protected、 public、 internal 修饰符的访问权限。
private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一命名空间内可以访问。
8 在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。
string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间。