2023年net面试题有答案.docx
《2023年net面试题有答案.docx》由会员分享,可在线阅读,更多相关《2023年net面试题有答案.docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Net面试题大全(有答案)和A面试集合(1)面向对象的语言具有继承性性、封装性性、多态 性性。(2)能用foreach遍历访问的对象需要实现_ lEnumerable接 口或声明_ GetEnumerator方法的类型。l.c#中的三元运算 符是_?:一.当整数a赋值给一个object对象时,整数a将会被装箱 91 .类成员有3种可访问形式?2 .public static const int A=1;这段代码有错误么?是什么? const成员都是static所以应当去掉static5.floatf=-123.567F;int i=(int)f;i的值现在是_-123?6 .运用operato
2、r声明且仅声明了 二=,有什么错误么?要同时 修改Equale和GetHash() ?重载了“=就必须重载!=.委托声明的关键字是delegate ?7 .用sealed修饰的类有什么特点?不可被继承.在A中所有的自定义用户控件都必须继承自 ?8 .在.Net中所有可序列化的类都被标记为 _serializable?9 .在.Net托管代码中我们不用紧张内存漏洞,这是由于有了 _gC_?10 .下面的代码中有什么错误吗? _ abstract override是不可 以一起修饰using System;class Apublic virtual void F()Console. WriteLi
3、neCA.F6);)abstract class B:A(public abstract override void F();)11 .当类T只声明了私有实例构造函数时,则在T的程序文本 外部,不可以(可以or不可以)从T派生出新的类,_ 不可以_ (可以or不可以)直接创建T的任何实例。12 .下面这段代码有错误么? case。:不行default;switch (i)case():CaseZero();break;case 1: CaseOne();break;dufault;CaseTwo();break;)MessageBox.Show (警告:程序正在运营中!请不 要反复打开程序!可
4、在右下角系统栏找到程序错误提 01:MessageBoxButtons.OK,MessageBoxIcon.Stop);return;Application.Run(new FormlQ);防止程序多次执行 ,1, , ,. . *1* ,, * *?* *1* rTw *7* rT * *Tw 1 rT *T* *T* ri* *Tw rTw rT* *Tw rTpublicabstractclass Onelnstance(III (summary)/判断程序是否正在运营III (/summary)III (param name-4appldcc)程序名称/paramIII (return
5、s)假如程序是第一次运营返回True,否则返回False (/returns)publicstaticbool IsFirst(string appld)(bool ret=false;if(OpenMutex(Ox 1F0001,0,appId)=IntPtr.Zero)(CreateMutex(IntPtr.Zero,0,appld);ret=true;return ret;DllImport(6Kemel32.dlFCharSet=CharSet.Auto) privatestaticextern IntPtr OpenMutex(uint dwDesiredAccess, / acce
6、ssint blnheritHandle, / inheritance optionstring IpName / object name);LDllImportC4Kemel32.dlFCharSet=CharSet.Auto)privatestaticextern IntPtr CreateMutex(IntPtr IpMutexAttributes, / SDint blnitialOwner,/ initial ownerstring IpName/ object name);).简述 private protected public、internal 修饰符的访问权 限。privat
7、e :私有成员,在类的内部才可以访问。protected :保 护成员,该类内部和继承类中可以访问。public:公共成员, 完全公开,没有访问限制。internal:在同一命名空间内可以 访问。3 .写出一条Sql语句: 取出表A中第31到第40记录 (SQLServer,以自动增长的ID作为主键,注意:ID也许不 是连续的。)select top 10 * from A where id not in (select top 30 id from A) 解2: select top 1() * from A where id (select max(id) from (select top
8、 30 id from A )as A)1 .使用 Query String,如.?id=l; response. Redirect。.5冽举ASP.NET页面之间传递值的几种方式。2、 .使用Session变量3使用 Server.Transfer2O请说明在.net中常用的儿种页面间传递参数的方法,并 说出他们的优缺陷。session(viewstate)简朴,但易丢失application 全局cookie简朴,但也许不支持,也许被伪造input ttype=hidden简朴,也许被伪造url参数简朴,显示于地址栏,长度有限数据库稳定,安全,但性能相对弱2.override与重载的区别O
9、verride用来重写父类的方法,重载使用相同名的方法或操 作符拥有不同类型的参数3、 .net的错误解决机制是什么.net错误解决机制采用try-catch-)行nally结构,发生错误 时,层层上抛,直到找到匹配的Catch为止。4、C#中接口和类的异同接口和类都是类,不同的事,接口只包含方法或属性的声 明,不包含具体实现方法的代码,接口可以实现多继承, 而类只能是单继承,继承接口的类必须实现接口中声明的 方法或属性。接口重要定义一种规范,统一调用方法,在 大型项目中接口正发挥日益重要的作用。4、 DataReader和DataSet的异同DataReader和DataSet最大的区别在于
10、,DataReader使用时始 终占用SqlConnection,在线操作数据库.任何对 SqlConnection的操作都会引发DataReader的异常.由于 DataReader每次只在内存中加载一条数据,所以占用的内存 是很小的.由于DataReader的特殊性和高性能.所以 DataReader是只进的.你读了第一条后就不能再去读取第一 条了.DataSet则是将数据一次性加载在内存中.抛弃数据库连接. 读取完毕即放弃数据库连接.由于DataSet将数据所有加载 在内存中.所以比较消耗内存但是确比DataReader要灵活. 可以动态的添加行,列,数据.对数据库进行回传更新操作 1.
11、在c#中using和new这两个关键字有什么意义,请写出你所 知道的意义?Using引入一个名子空间,或在使用了一个对像后自动调用 其IDespose, New实例化一个对像,或修饰一个方法,表 此方法完全重写此方法.在下面的例子里 using System;class A (public A() PrintFields(); )public virtual void PrintFields() )class B:A ( int x=l; int y;public B() y=-l;public override void PrintFields()Console. WriteLinef= 0
12、 ,y= 1 4x,y);)当使用new B()创建B的实例时,产生什么输出? X=l,Y=0.下面的例子中using System;class A(public static int X;static A()X=B.Y+1;)class B(public static int Y=A.X+1;static B()static void Main()Console. WriteLine(X= 0, Y= 1 “,A.X,B. Y);)产生的输出结果是什么? x=l,y=2.谈谈类和结构的区别?最大区别一个是引用类型,一个是值类型默认成员访问为 public是此外一个区别1.在.net(C# o
13、r )中如何获得当前窗体或控件的句柄, 特别是控件自身的句柄(请列举)。this(C#) Me().2在.net (C# or )中如何用户自定义消息,并在窗体 中解决这些消息、。在form中重载DefW ndProc函数来解决消息:protected override void DefWndProc ( refSystem.WinForms.Message m)(switch(m.msg)(case WM_Lbutton :/string与MFC中的CString的Format函数的使用方法有所 不同string message = string.Format(“收至U 消息!参数为:0,l
14、,m.wParam,m.lParam);MessageBox.Show(message); /显示一个消息框break;case USER:解决的代码default:base.DefWndProc(ref m);/调用基类函数解决非自定义消/息、Obreak;).在.net (C# or )如何启动另一个程序。process3 .在.net (C# or )中如何取消一个窗体的关闭 private void Form l_Closing(object sender, System.ComponentModel.CancelEventArgs e)e.Cancel=true;)4 .在.net
15、( C# or )中,Appplication.Exit 还是 Form.Close有什么不同?答案:一个是退出整个应用程序,一个是关闭其中一个form.在C#中有一个double型的变量,比如1032L5,比 如.21644,作为货币的值如何按各个不同国家的习惯来输 出。比如美国用$10,321.50和$122, 235, 401.22而在英国则 为 10 321.50和 122 235 401.22答案:MyCulture=newSystem.Globalization.CultureInfo(uen-USu);/System.Globalization.Culturelnfo MyCul
16、ture = new System.Globalization.Culturelnfo(en-GB);为英国货币类型 decimal y = 9999m;string str = String.Format(MyCulture/6My amount = 0:c,y);5 .某一密码仅使用K、L、M、N、0共5个字母,密码中的 单词从左向右排列,密码单词必须遵循如下规则:(1)密码单词的最小长度是两个字母,可以相同,也可 以不同(2) K不也许是单词的第一个字母(3)假如L出现,则出现次数不止一次(4) M不能使最后一个也不能是倒数第二个字母(5) K出现,则N就一定出现(6)。假如是最后一个字
17、母,则L一定出现问题一:下列哪一个字母可以放在L0中的0后面,形成一个3个字母的密码单词?A) K B)L C) M D) N答案:B问题二:假如能得到的字母是K、L、M,那么可以形成的两个字母长的密码单词的总数是多少?A)1个B)3个C)6个D) 9个答案:A问题三:下列哪一个是单词密码?A) KLLN B) LOML C) MLLO D)NMKO答案:C8. 62-63=1等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?答案:62移动成2的6次方new有几种用法第一种:new ClassQ;第二种:覆盖方法public new XXXX()第三种:new约束指
18、定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。2 .如何把一个array复制到array Li st里foreach( object o in array )arrayList.Add(o);3 .datagrid.datasouse可以连接什么数据源dataset,datatable,dataviewdataset,datatable,dataview , IList.概述反射和序列化反射:程序集包含模块,而模块包含类型,类型又包含成员。 反射则提供了封装程序集、模块和类型的对象。您可以使 用反射动态地创建类型的实例,将类型绑定到现有对象, 或从现有对象中获取类型。然后,可以调用
19、类型的方法或 访问其字段和属性序列化:序列化是将对象转换为容易传输的格式的过程。例 如,可以序列化一个对象,然后使用HTTP通过Internet 在客户端和服务器之间传输该对象。在另一端,反序列化 将从该流重新构造对象。4 .概述o/r mapping的原理运用反射,配置 将类于数据库表映射7 .用sealed修饰的类有什么特点sealed修饰符用于防止从所修饰的类派生出其它类。假如 一个密封类被指定为其它类的基类,则会发生编译时错误。 密封类不能同时为抽象类。sealed修饰符重要用于防止非故意的派生,但是它还能促 使某些运营时优化。具体说来,由于密封类永远不会有任 何派生类,所以对密封类的
20、实例的虚拟函数成员的调用可 以转换为非虚拟调用来解决。11 .详述.NET里class和struct的异同!class:放在? struct放在?struct值传递类与结构有很多相似之处:结构可以实现接口,并且可以 具有与类相同的成员类型。然而,结构在几个重要方面不 同于类:结构为值类型而不是引用类型,并且结构不支持 继承。结构的值存储在“在堆栈上或内联”。细心的程序员 有时可以通过聪明地使用结构来增强性能。12 .概述.NET里对remoting和webservice两项技术的理 解和实际中的应用。远程逻辑调用,remoing接口只能用在.net中.什么是code-behind技术 aspx
21、 and cs13 .概述三层结构体系 web/business/如何实现MVC模式,举例说明! web/business/dataaccess2 .什么是ASP. net中的用户控件答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页 面中调用,以节省代码.比如登陆也许在多个页面上有,就可 以做成用户控件,但是有一个问题就是用户控件拖到不同级 别的目录下后里面的图片等的相对途径会变得不准确,需要 自己写方法调整.3 .什么叫应用程序域?什么是受管制的代码?什么是强类 型系统?什么是装箱和拆箱?什么是重载? CTS、CLS和 CLR分别作何解释?答:装箱就是把值类型转成引用类型,从MS
22、IL角度看仿佛是 boxing,没记错的话是把值从堆栈转到堆中,拆箱相反,重载 就是指一个方法名同,参数个数不同,返回值可以相同的方 法.CLR是通用语言运营时,其它的不清楚.4 .列举一下你所了解的XML技术及其应用答:XML可是好东西,保存配置,站与站之间的交流,WEB SERVICE者B要用它.5 .值类型和引用类型的区别?写出C#的样例代码。答:结构是值类型,类是引用类型,所以传结构就是值类型的 应用啦,传对象或类就是引用类型的,这个不用多写了吧.64D中常用的对象有哪些?分别描述一下。答:connection command sqladapter dataset datatable
23、dataview 等等.写不完了.7 .如何理解委托?答:据说相称于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法.msdn2023中是这样解释的:委托具有以下特点:委托类似于C+函数指针,但它是类型安全的。委托允许将方法作为参数进行传递。委托可用于定义回调方法。委托可以链接在一起;例如,可以对一个事件调用多个方法。方法不需要与委托署名精确匹配。有关更多信息,请参见 协变和逆变。C# 2.0版引入了匿名方法的概念,此类方法允许将代码块 作为参数传递,以代替单独定义的方法。8 .C#中的接口和类有什么异同。答:接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 net 试题 答案
限制150内