欢迎来到天天文库
浏览记录
ID:15212839
大小:51.50 KB
页数:7页
时间:2018-08-02
《最新c#面试题收集》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C#基础题一、问答题:1、简述private、protected、public、internal修饰符的访问权限private:私有成员,在类的内部才可以访问。protected:保护成员,该类内部和继承类中可以访问。public:公共成员,完全公开,没有访问限制。internal:在同一命名空间内可以访问。2、override与重载的区别Override用来重写父类的方法,重载使用相同名的方法或操作符拥有不同类型的参数3、C#中接口和类的异同接口和类都是类,不同的事,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只
2、能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用。4、在c#中using和new这两个关键字有什么意义,请写出你所知道的意义Using引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New实例化一个对像,或修饰一个方法,表此方法完全重写此方法。5、谈谈类和结构的区别最大区别一个是引用类型,一个是值类型默认成员访问为public是另外一个区别。6、概述反射和序列化反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对
3、象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用HTTP通过Internet在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。7、用sealed修饰的类有什么特点sealed修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其它类的基类,则会发生编译时错误,密封类不能同时为抽象类。sealed修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。
4、具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。8、类成员有几种可访问形式可访问性:public,protected,private,internal。9、C#中,stringstr=null与stringstr="",请尽量用文字说明区别。(要点:说明详细的内存空间分配)stringstr=""分配空间。10、面向对象的思想主要包括什么?封装、继承、多态封装:用抽象的数据类型将数据和基础数据的操作封装在一起,数据被保护在抽象数据类型内部。继承:子类拥有父类所有的数据和操作。多态:一个程序
5、中同名的不同方法共存的情况。多态有两中形式——重载与重写。11、如何理解委托?据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法。12、C#中的接口和类有什么异同接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念。类是负责具体功能的实现。在类中也有抽象类的定义,抽象类与接口的区别在于:抽象类是一个不完全的类,类里面有抽象的方法、属性,也可以有具体的方法和属性,需要进一步专业化。但接口是一个行为的规范,里面的所有的东西都是抽象的。一个类只可以继承一个基类也就是父类,但可以实现多个接口。1、进程和线程分别怎么理
6、解进程就是计算机中正在执行的程序(即处于活动状态的程序),每一个进程都有自己独立的一块内存空间和一组系统资源。线程和进程有很多相似的特征,线程可以被开作是进程的进一步细分,也就是把进程完成的任务划分成一个个更小的子任务,每一个子任务就是一个线程,然后用细分的这些线程分别去执行。线程是基于进程的一个级别运行单位,线程同样包括一个内存入口地址、一个出口地址以及能够执行的代码序列。但是线程和进程的根本区别在于线程不能够单独执行,它必须运行在处于活动状态的进程中。2、什么是装箱和拆箱装箱就是隐式将一个值类型转换为引用类型对象。拆箱就是将一个引用类型对象转换
7、成任意值类型。3、什么是重载?重载分为普通方法重载和基类虚方法重载。普通方法重载是指:类中两个以上的方法(包括隐藏的继承而来的方法),取相同的名字,但使用的参数类型或参数个数不同。对基类方法的重载是函数重载的另一种特殊形式。在派生类中重新定义此虚函数。方法名称、返回值类型、参数表中的参数个数、类型、顺序都必须和基类中的虚方法一致。在排成类中声明对虚方法的重载,要求在声明中加上override关键字,而且不能有new、static或、virtual修饰符;4、值类型和引用类型的区别?值类型:单元直接存放有效值。如:intI=3;则I内存单元就存放3。
8、引用类型:单元放的是另外一个对象的引用(地址)。如:Formform1=newForm();就是说在内存中开辟了一个对象n
此文档下载收益归作者所有