C# .Net经典面试标题问题及答案

时间:2021-09-18 07:22:53

1, 请你说说.NET中类和布局的区别?

答:

  布局和类具有梗概的语法,但是布局受到的限制比类要多。布局不能申明有默认的结构函数,为布局的副本是又编译器创建和销毁的,所以不需要默认的结构函数和析构函数。布局是值类型,所以对布局变量所做的转变不会影响其的原值,而类是应用类型,转变其变量的值会转变其原值。申明布局用Struck关键字,申明类用class关键字,向要领通报布局是时是通过值通报的,而不是通过引用。与类差别,布局的实例化可以不使用New关键字。类可以实现接口。

2,死锁的须要条件?怎么克服?

答:

系统的资源不敷,进程的推进的挨次不同适,资源分配不当,一个资源每次只能被一个进程使用,一个资源请求资源时,而此时这个资源已梗阻,对已获得资源不放,进程获得资源时,未使用完前,不能强行褫夺。

3, 接口是否可以担任接口?抽象类是否可以实现接口?抽象类是否可以担任实体类?

答:接口是可以担任接口的,抽象类是可以实现接口的,抽象类可以担任实体类,但是有个条件,条件是,实体类必需要有明确的结构函数。

4, 结构器Constructor是否可以被担任?是否可以被Override?

答:Constructor不成以被担任,因此不能被重写(Overriding),但可以被重载(Overloading).

5, 当一个线程进入一个东西的synchronized()要领后,其它线程是否可以进入该东西的要领?

答:不成以,一个东西的synchronized()要领只能由一个线程访谒。

6, 用最有效的要领算出等已8对付几?

答:2<<3.

7, C#是否可以对内存直接进行操纵?

答:

这个问题对照难回答,也是个很大的问题。但是可以这样问答。C#是可以对内存进行直接操纵的,虽然很少用到指针,但是C#是可以使用指针 的,在用的时候需要在前边加unsafe,,在.net中使用了垃圾回收机制(GC)成果,它替代了措施员,不过在C#中不成以直接使用finalize 要领,而是在析构函数中挪用基类的finalize()要领。

8, Error和Exception有是区别?

答:error暗示恢复不是不成能,但是很困难,exception暗示一种实际或实现问题,它暗示措施运行正常不成以产生的。

9, 谈谈final,finally,finallize的区别?

答:

final用于申明属性,要领和类,暗示属性不成变,要领不成以被笼罩,类不成以被担任。   Finally是异常措置惩罚惩罚语句布局中,暗示总是执行的部分。   Finallize暗示是object类一个要领,在垃圾回收机制中执行的时候会被挪用被回收东西的要领。

10, HashMap和Hashtable区别?

答:HashMap是Hashtable的轻量级实现,非线程安适的实现他们都实现了map接口,主要区别是HashMap键值可以为空null,效率可以高于Hashtable。

11,Collection和Collections的区别?

答:Collection是调集类的上级接口,Collections是针对调集类的一个辅佐类,它供给一系列静态要领来实现对各类调集的搜索,排序,线程安适化操纵。

12,C#中委托是什么?事件是不是一种委托?

答:委托是一种安适的类似与函数指针,但是她比指针要安适的多,它可以把要领作为一个参数通报给另一个要领,可以理解为指向函数的引用。事件是一种动静机制,它是一种委托,委托不带要领体。

13,Override, Overload,的区别?

答:

Override是重写的意思,它暗示重写基类的要领,而且要领的名称,返回类型,参数类型,参数个数要与基类不异。 Overload是重载是意思,它也暗示重写基类的要领,但是只要要领名不异,另外可以差别。

14,在一个BS布局中需要通报变量值时,不能使用session,coolke,application,你有几中要领?

答:this.server.Transfer,Querystring.

15, C#种索引器实现过程,是否只能按照数字索引?

答:不是的,可以是任意类型。

16,New有种用法?

答:

有3种,第一种是,实例化如:New Class() 第二种是,public new 隐藏基类的要领 第三种是,在泛型类申明中的任何类型参数都必需有大众的无参结构函数。

17,任何把一个Array复制到Arraylist中?

答:Foreach (object o in Array), ArrayList.Add (0)

 18,概述反射和序列化?

答:

反射:要给发射下一个界说还是对照难的,这里先说说我的理解。反射供给了封装措施集,模块和类型东西,可以用反射动态地创建类型的实例,将类型绑定到现有东西,或者从现有东西类型里获取类型,然后挪用类型的要领或访谒字段和属性。   序列化:将东西转换为另一种媒介传输的格局过程。如,序列化一个东西,用Http通过internet在客户端和处事器之间通报该东西,在另一端用反序列化从该流中从头得到东西。

19,Const和ReadOnly?

答:Const用来申明编程时申明常量,ReadOnly用来申明运行时常量。

20,UDP和TCP连接有和异同?