收藏 分享(赏)

C_sharp精华面试题及答案.doc

上传人:cjc2202537 文档编号:4847057 上传时间:2019-01-16 格式:DOC 页数:29 大小:214KB
下载 相关 举报
C_sharp精华面试题及答案.doc_第1页
第1页 / 共29页
C_sharp精华面试题及答案.doc_第2页
第2页 / 共29页
C_sharp精华面试题及答案.doc_第3页
第3页 / 共29页
C_sharp精华面试题及答案.doc_第4页
第4页 / 共29页
C_sharp精华面试题及答案.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、注:红色表示答案一选择,填空题1. 在 ADO.NET中,对于 Command对象的 ExecuteNonQuery()方法和 ExecuteReader()方法,下面叙述错误的是(C)。a) insert、update、delete 等操作的 Sql语句主要用 ExecuteNonQuery()方法来执行;b) ExecuteNonQuery()方法返回执行 Sql语句所影响的行数。c) Select操作的 Sql语句只能由 ExecuteReader()方法来执行;d) ExecuteReader()方法返回一个 DataReder对象;2. 面向对象的语言具有_继承性_性、_封装性_性、

2、_多态性 性。3. 能用 foreach遍历访问的对象需要实现 _接口或声明_方法的类型。()答:IEnumerable 、 GetEnumerator()4. 在C#中,表示一个字符串的变量应使用以下哪条语句定义?( B )A. CString str;B. string str;C. Dim str as stringD. char * str;5. 在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句?( A )A. decimal theMoney;B. int theMoney;C. string theMoney;D. Dim theMoney as

3、 double6. C#中,新建一字符串变量str,并将字符串”Toms Living Room”保存到串中,则应该使用下列哪条语句?(B)A. string str = “Toms Living Room”;B. string str = “Toms Living Room”;C. string str(“Toms Living Room”);D. string str(“Tom”s Living Room”);7. 应用ADO.NET 访问数据时,Connection 对象的连接字符串中Initial Catalog 子串的含义是 ( A )A. Connection 对象连接到的数据库的

4、名称 B. Connection 对象的身份验证信息C. Connection 对象的最大连接时间D. Connection 对象使用的缓存大小8. 使用Visual Studio .NET 的”新建C# 项目”创建一个名为”SimpleForm”的Windows表单应用程序,则在生成_文件中可设置该程序集的Copyright、Trademark 等属性信息.( D )A. Form1.resxB. SimpleForm.slnC. SimpleForm.csprojD. AssemblyInfo.cs9. C#程序中,为使变量myForm 引用的窗体对象显示为对话框,必须: ( C )A.

5、使用myForm.ShowDailog 方法显示对话框B. 将myForm 对象的isDialog 属性设为trueC. 将myForm 对象的FormBorderStyle 枚举属性设置为FixedDialogD. 将变量myForm 改为引用System.Windows.Dialog 类的对象10. 下列哪些语言可以用来开发XML Web Service? ( A,B,C,D )A. CB. C+C. JavaD. C#11. Web 表单中,按钮的默认事件是 ( A )A. Click 事件B. Load 事件C. Init 事件D. Command 事件12. 关于ASP.NET 窗体

6、应用程序,下列说法哪些是正确的? ( D )A. Web 窗体是在浏览器中进行解释执行的B. Web 窗体程序中脚本和代码必须严格分开C. Web 窗体程序产生的HTML 页面只能运行于IE 浏览器D. Web 窗体程序的代码可以使用任何一种.NET 兼容的编程语言编写13. 关于结构类型,下列说法哪些是正确的? ( A )A. 结构是值类型B. 结构中不允许定义带参数的实例构造函数;C. 结构中不允许定义析构函数D. 结构中可以定义成员方法,但是方法内不能使用this 指针E. 不能使用new 关键字创建结构类型的实例14. 关于线程和进程,下列说法哪些是正确的? ( A D )A. 线程是

7、操作系统分配处理器时间的基本单位;B. 进程是操作系统分配处理器时间的基本单位;C. 一个线程可以属于多个进程;D. 一个进程可以有多个线程;15. 为从某个网站访问 xml信息,应使用( _)类的对象分析下载返回的 xml文档 (C D)A StreamReaderB TextReaderC XmlReaderD XmlTextReader16. 面向对象编程中的”继承”的概念是指(B)A 派生类对象可以不受限制地访问所有的基类对象B 派生自同一个基类的不同类的对象具有一些共同特征C 对象之间通过消息进行交互D 对象的内部细节被隐藏17. 以下叙述正确的是( D ) 。A. 一条表达式中可以

8、同时出现浮点数类型和 decimal类型B. 类可以继承,并且可以多重继承C. int, b=new int4,5 /创建了一个二维数组,第一维长为 4,第二维长为 5D. int x=23; object o=x; int y=(int) o; /实现了一次装箱操作18. 以下有关结构类型和枚举类型的叙述错误的是( C ) 。A. 结构类型和枚举类型都是复合类型 B. 结构类型只能是简单值类型的组合C. 枚举类型要求成员只能是整数类型 D. 枚举类型的变量在某一时刻只19. 接口和类最主要的区别在于( D ) 。A类可以重载而接口不可以 B类不可以重载而接口可以C类可以多重重载而接口不可以

9、D类不可以多重重载而接口可以20. 关于静态域成员与非静态域成员,以下说法正确的是( C ) 。A. 一个类的所有对象共享非静态域成员 B. 一个类的一个对象分别拥有不同的非静态域成员的实例C. 静态域成员都能在不生成实例的情况下直接被使用 D. 非静态域成员都能21. 关于重载,以下叙述错误的是(C,D) 。A. 重载是指在类的内部存在若干个方法名称一致但是参数列表不同的方法B. 方法重载是指创建多个名称相同的方法,其中每个方法都在某些方面具有唯一性,以便编译器能够正确区别它们C. 重载构造函数主要是为了在创建对象的同时进行赋值D. 方法的重载允许两个方法的名称和参数列表相同,而返回类型不同

10、22. 下面有关 C中方法的参数描述正确的是(B ) 。A. 利用值类型参数调用方法时,对形参的修改会反映到实参上去B. 输出型参数的实参在传递给形参前,不需要明确赋值C. 引用型参数不另外开辟新的内存区域,这一点是它与输出型参数的不同之处D. 数组型参数可以是任何类型的数组23. 下面是一个派生类的定义语句:public class car: vehicle private string model=”L”;private int wheelNo=4;请指出针对该定义的正确的说法(C ) 。A. vehicle类是 car类的一个特例,因而它可以被继承B. car类是父类,vehicle 类

11、是子类C. 在 car类中定义的成员 model和 wheelNo会删除 vehicle类中同名的成员D. car类是 vehicle类的一个特例,它可以继承 vehicle类中除构造函数和析构函24. (D )关键字可以用来访问当前对象的基类对象。Aobject Bthis Cas Dbase25. 重载是(B )的形式之一。A接口 B多态 C继承 D类26. x的初值为 24,则表达式 x+=x-+=x%=17运算的结果值为(D ) 。A. 28 B27 C26 D错误的表达式27. 下面是几条定义初始化二维数组的语句,指出其中正确的是(D ) 。Aint array2 =new int3

12、,2; Bint array2,=new int3,2; Cint array2=new int3,2; Dint, array2=new int3,2;28. 一个初始化语句:enum monthesJanuary,February=3,March=5,April=7,May,June,则此时 May的值为(C ) 。A4 B5 C8 D929. 在 A中所有的自定义用户控件都必须继承自_? 答:Control。30. 在.Net 中所有可序列化的类都被标记为_? 答:serializable 31. 在.Net 托管代码中我们不用担心内存漏洞,这是因为有了_? 答:GC。32. 在.Net

13、 中,类 System.Web.UI.Page 可以被继承么?答:可以。33. 声明静态变量的关键字是(static) ,声明常量的关键字是(const) 34. 在流程控制中 CONTINUE的作用(跳出当前循环继续下一次循环)35. 软件工程的三大文档(需要分析说明书) (概要设计说明书) (详细设计说明书) 。 36. B/S通常使用的结构设计模型分为(模型) (视图) (控制器) 。 (MVC 经典的Web/Business/DataAccess) 37. XML的全称是(Extensible Markup Language”可扩展标记语言” ) ,提供了快速和有效地读写 XML的方式

14、的类分别是(XMLReader) (XMLWriter) 38. C#中所有的类型实质上都是从(Object)类派生而来的。39. NET运行库支持被称为(委托)的引用类型,其作用类似于 C+中函数指针的用途。 40. B/S通常使用的结构设计模型分为(模型) (视图) (控制)?*41. 类的三大特性是(封装) (继承) (多态) 42. .NET运行库支持被称为(委托)的引用类型,其作用类似于 C+中函数指针的用途 43. C#中处理内存管理功能的是(托管代码 GC(垃圾回收))44. 在 C#中用于显式地将一个值或引用转换为另一种不同的类型称为(拆箱)45. 在 ADO。NET 中,co

15、mmand 对象是用(ExcuteNonQuery) (ExcuteScalar)(ExcuteDataReader)方法执行命令二简答题1. 简述 private、 protected、 public、 internal 修饰符的访问权限。答:private : 私有成员, 在类的内部才可以访问。protected : 保护成员,该类内部和继承类中可以访问。public : 公共成员,完全公开,没有访问限制。internal: 在同一命名空间内可以访问。2. C#中,string str = null 与 string str =“,请尽量用文字说明区别。答:string str =“ 分配

16、空间而 string str = null不分配空间。3.用 sealed修饰的类有什么特点?答:不可被继承?*4.请叙述 const与 readonly的区别。e) 每一个 class至多只可以定义一个 static构造函数,并且不允许增加访问级别关键字,参数列必须为空。为了不违背编码规则,通常把 static数据成员声明为 private,然后通过 statci property提供读写访问。const 关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值不能被修改。常数声明引入给定类型的一个或多个常数。const数据成员的声明式必须包含初值,且初值必须是一个常量表达式。因为它是在

17、编译时就需要完全评估。const成员可以使用另一个 const成员来初始化,前提是两者之间没有循环依赖。readonly在运行期评估赋值,使我们得以在确保“只读访问”的前提下,把 object的初始化动作推迟到运行期进行。readonly 关键字与 const 关键字不同: const 字段只能在该字段的声明中初始化。readonly 字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly 字段可能具有不同的值。另外,const 字段是编译时常数,而 readonly 字段可用于运行时常数。 readonly 只能在声明时或者构造函数里面初始化,并且不能在 static

18、 修饰的构造函数里面。f)5.简述 private、 protected、 public、 internal 修饰符的访问权限。private : 私有成员, 在类的内部才可以访问。protected : 保护成员,该类内部和继承类中可以访问。public : 公共成员,完全公开,没有访问限制。internal: 在同一命名空间内可以访问。?*6.请说明在.net 中常用的几种页面间传递参数的方法,并说出他们的优缺点。 session(viewstate) 简单,但易丢失 application 全局 cookie 简单,但可能不支持,可能被伪造 input ttype=“hidden“ 简单

19、,可能被伪造 url参数简单,显示于地址栏,长度有限 数据库稳定,安全,但性能相对弱7.概述反射和序列化答:反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。8.什么是 SOAP,有哪些应用。答:SOAP(Simple Object Ac

20、cess Protocol )简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP) ,简单邮件传输协议(SMTP) ,多用途网际邮件扩充协议(MIME) 。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。Web service 就是一个应用程序,它向外界暴露出一个能够通过 Web进行调用的 API。这就是说,你能够用编程的方法通过 Web来调用这个应用程序.9.ASP。NET 中共有几种类型的控件?各有什么区别? 答:Html

21、控件传统的 html标记 Web 控件可以回传数据,事件驱动 自定义控件在原有控件的基础上增加功能 复合控件多个子控件复合成一个新的控件 10.什么情况用 HTML控件,什么情况用 WEB控件,并比较两者差别答:客户端表现用 html控件,如果想和 server端交互,那么加上 runat=server,它就成了服务器端控件,但它没有 web控件的很多方法和属性,如果你需要用到,那么还是用 webControls.11.用.net 做 B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?答:一般为 3层数据访问层,业务层,表示层。数据访问层对数据库进行增删查改。业务层

22、一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。表示层为了与用户交互例如用户添加表单。优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。缺点: 增加成本。12.什么是 XML?答:XML 即可扩展标记语言。eXtensible Markup Language.标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,即可以选择国际通用的标记语言,比如 HTML,也可以使用象 XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML 是从 SGML中简化修改出来的。它主要用到的有XML、XSL 和 XP

23、ath等。13.什么是 Web Service?UDDI?答:Web Service 便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得 Web Service能与其他兼容的组件进行互操作。UDDI 的目的是为电子商务建立标准;UDDI 是一套基于 Web的、分布式的、为 Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的 Web Service注册,以使别的企业能够发现的访问协议的实现标准14.WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。在 web控件

24、发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用 Page_Load事件,然后根据传回的状态信息自动调用服务端事件自动传回是当我们在点击客户端控件时,采用提交表单的形式将数据直接传回到务端只有通过自动传回才能实现服务端事件的机制,如果没有自动回传机制就只能调用客户端事件,而不能调用服务端事件16.请简述 DataReader与 DataSet的异与同。17.PDB是什么东西? 在调试中它应该放在哪里? 答:PDB 是用于保存调试和项目状态信息的文件,在 debug的时候将产生 pdb文件,调试的时候应该放在和对应应用程序集相同目录。 18.简述 ajax的原理。答:ajax 简单

25、的讲就是客户端通过 javascript脚本获取服务器端的文本,通过解析返回值,更新部分的网页内容。19.描述线程与进程的区别? 答:线程(Thread)与进程(Process)二者都定义了某种边界,不同的是进程定义的是应用程序与应用程序之间的边界,不同的进程之间不能共享代码和数据空间,而线程定义的是代码执行堆栈和执行上下文的边界。一个进程可以包括若干个线程,同时创建多个线程来完成某项任务,便是多线程。而同一进程中的不同线程共享代码和数据空间。用一个比喻来说,如果一个家庭代表一个进程,在家庭内部,各个成员就是线程,家庭中的每个成员都有义务对家庭的财富进行积累,同时也有权利对家庭财富进行消费,当

26、面对一个任务的时候,家庭也可以派出几个成员来协同完成,而家庭之外的人则没有办法直接消费不属于自己家庭的财产。 20.什么是 Windows服务,它的生命周期与标准的 EXE程序有什么不同 答:Windows 服务是运行在 windows后台指定用户下(默认 System)的应用程序,它没有标准的 UI界面,想比标准的 EXE程序,Windows 服务是在服务开始的时候创建,而在服务结束的时候销毁,而且可以设置服务是否与操作系统一起启动,一起关闭。它支持三种方式:)自动方式 2)手动方式 )禁用 。自动方式的时候,windows 服务将在 OS启动后自动启动运行,而手动方式则必须手工启动服务,禁

27、用的情况下服务将不能被启动。另外标准的 EXE默认使用的当前登录的用户,而 windows服务则默认使用 System用户,这在对系统资源访问的时候特别需要注意。 21.什么是强类型,什么是弱类型?哪种更好些?为什么? 答:强类型是在编译的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型。没有好不好,二者各有好处,强类型安全,因为它事先已经确定好了,而且效率高。一般用于编译型编程语言,如c+,java,c#,pascal等,弱类型相比而言不安全,在运行的时候容易出现错误,但它灵活,多用于解释型编程语言,如 javascript,vb等 .22.什么是 GAC?它解决

28、了什么问题? 答:Gloal Assembly Cache,全局应用程序集缓存。它解决了几个程序共享某一个程序集的问题。不必再将那个被共享的程序集拷贝到应用程序目录了,其实这道理很简单,.net 应用程序在加载的时候,会首先查看全局应用程序集缓存,如果有就可以直接使用,没有再到应用程序目录进行查找。23.阐述面向接口、面向对象、面向方面编程的区别 答:面向接口更关注的是概念,它的原则是先定义好行为规范,再根据行为规范创建实现,严格的来说,面向接口应该是面向对象中的一部分吧,因为面向对象也强调的是本末倒置原则,也就是实现依赖于抽象,而抽象不依赖于具体实现,更具比较的应该是面向接口与面向抽象对象,

29、我的体会是面向接口更加灵活,但实现时候,稍微有些代码冗余,而面向抽象可以结合面向接口,先定义接口,再定义抽象类,在抽象类中处理一些公共逻辑,再实现具体实现类。面向对象是对复杂问题的分解。面向方面的编程是一种新概念,它解决了很多面向对象无法解决的问题,比如面向对象技术只能对业务相关的代码模块化,而无法对和业务无关的代码模块化。而面向方面正是解决这一问题的方案,它的关键思想是“将应用程序中的商业逻辑与对其提供支持的通用服务进行分离“。 24.简述用 repeater实现手工分页的思路。25.web service 数据传输有什么限制? 为什么?DataTable 可以作为 web service参

30、数传递么?答:所传输的数据必须是可序列化的。因为需要转换为 XML格式以可以穿越防火墙,做到真正的数据共享。因为 DataSet处理 DataTable的序列化以便进行封送处理,所以无法传递单个 DataTable26.常用的调用 WebService的方法有哪些?答:在同一个解决方案中调用 WebService方法; 在不同的解决方案中调用 WebService方法; 在 Internet上调用 WebService方法; 利用 webservice.htc调用 WebService方法。28.在 C中,string str = null 与 string str = “” 请尽量使用文字或

31、图象说明其中的区别。答:string str = null 是不给他分配内存空间,而 string str = “ 给它分配长度为空字符串的内存空间.30.请详述在 dotnet中类(class)与结构(struct)的异同: 答:Class 可以被实例化,属于引用类型,是分配在内存的堆上的,Struct 属于值类型,是分配在内存的栈上的.31. 如何理解委托?答:据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法.msdn2005中是这样解释的:委托具有以下特点:委托类似于 C+ 函数指针,但它是类型安全的。委托允许将方法作为参数进行传递。委托可用于定义回调方法。委托

32、可以链接在一起;例如,可以对一个事件调用多个方法。方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。33 override 与重载的区别override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要Override 是进行基类中函数的重写。为了适应需要。34. abstract class和 interface有什么区别?答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明

33、方法,但不能在该类中实现该类的情况。不能创建 abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义 static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。

34、当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。35. Session有什么重大 BUG,微软提出了什么方法加以解决?答:是 iis中由于有进程回收机制,系统繁忙的话 Session会丢失,可以用 Sate server或 SQL Server数据库的方式存储 Session不过这种方式比较慢,而且无法捕获Session的 END事件。36. 成

35、员变量和成员函数前加 static的作用?答:它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数负责这种统计的动作。37.简述三层架构的利弊。38.简述 AJAX控件 timer的实现原理。39.简述 ASP.NET中用户控件和自定义控件的区别.40.简述 framework在.NET 中的作用.41.简述 C#中引入泛型的好处。42.谈谈 arraylist和 listcatch-finally结构,发生错误时,层层上抛,直到找到匹配的 Catch为止。112.C#中的表单界面上,有一个 DataGrid控

36、件,如何将 SQL数据库里的一个表中的数据显示在这个控件上,请描述一下操作方法及步骤:答:(1) 根据连接字符串,创建数据库连接对象,并根据连接对象创建 Command 对象。(2) 根据 SQL语句,查询表信息。(3) 使用 DataApapter对象,将查询结果填充到 DataSet中的 objDataset数据表里。(4) 将 DataGrid的数据源设置成 objDataset数据表,实现数据绑定。113. 在 C#中,有几种连接到数据库的方式,请列举出并分别说明它们可以连接哪些数据库(1)Sql.Net Framework 连接 sql server7.0或以上更高版本数据库。(2)

37、Oledb.Net Framework 连接 Access和 sql server6.5或以下版本数据库。(3)Odbc.Net Frameworka(桥连)可以连接 sql server数据库和 odbc公开数据源。(4)Oracle.Net Framework 连接 Oracle数据库。114.请描述一下在 ASP.NET中,Application 对象、Session 对象、Cookies 对象的用法及不同之处,及它们与传统的 ASP有没有不同之处?答:Application 对象是作用于整个程序运行期的状态对象。 Session对象是会话期状态保持对象,用于跟踪单一用户的会话。 Coo

38、kies对象客户端保持会话信息的一种方式。115. 试简单描述以下扩展名程序或系统档案的角色答: .ascx , .aspx , .dll , .vb , .xml, css , js, global.asax ,web.configAscx后缀表示用户控件Aspx后缀表示页面.dll表示类库集.vb是 vb.Net的源文件.xml表示是用可扩展标记语言编写的文件Css表示样式表文件Js表示 javascript脚本文件Global.asax文件在应用程序的根目录中,负责处理Application_Start,Application_End,Session_Start,Session_End事

39、件Web.Config文件存储应用程序的配置信息116net中读写 XML的类都归属于哪些命名空间? 答:System.Xml 117.相对于.NET 1.1,.NET2.0 为了避免过度的 boxing/unboxing造成的系统开销提供了哪些支持?118.请谈谈面向对象的特性及你对面向对象的理解?119简述 Javascript中的$符号表示什么?120列举 ADO.NET中的五大主要对象及其作用?121.简述接口和抽象类的异同?你选择使用接口和抽象类的依据是什么?122.请列举 ADO.NET中读取数据的方法及其工作原理?123. 简述 private、 protected、 publi

40、c、 internal 修饰符的访问权限。124 .列举 ASP.NET 页面之间传递值的几种方式。125. C#中 property 与 attribute 的区别,他们各有什么用处,这种机制的好处在哪里?126. 讲一讲你理解的 web service,在 dot net framework中,怎么很好的结合 xml?(讲概念就行了)127. C#, Java 和 c+的特点,有什么相同的地方,不同的地方,C#分别从 c+和 java中吸取了他们那些优点?128. C#可否对内存进行直接的操作?129. 用 Visual C+ 6.0编写的代码(unmanaged code),如何在 CL

41、R下和其他 dot net component结合?130. 以前作过的一些项目?介绍一下自己的编程经验。(这是蒙混不过去的,基本一问就知道是真是假)131: 维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么132:ADO.NET 相对于 ADO等主要有什么改进?133:ASP.NET 与 ASP相比,主要有哪些进步?134:C#中的委托是什么?事件是不是一种委托?135:描述一下 C#中索引器的实现过程,是否只能根据数字进行索引?136:配置异常(Debug | Exceptions) 每个异常都可以配置。137.健壮程序的处理 1) throw 对应的异常,不能够慎用 C

42、atch(Exception e) 这种捕获方法.2) 异常转义抛出,给用户以合理的提示,不要抛出假异常.3) 给出断言 Trace.Assert() 便于调试.4) 在程序的最后一层,最好要处理一下异常,但是同时要记录日志 Log,既要保证用户没有中断操作,又要给自己的改进带来依据(把异常的日志返回 到开发人员手中),如果有 Reporting Server 更好.5) 总之,不要轻易吃掉异常,只能增加开发的成本138.类的修饰符1) internal 项目内部用2) public 默认情况3) abstract 抽象的,不可以实例化,只能够继承,可有抽象成员4) sealed 密封的,不能

43、够继承,可以是公有的,也可以是内部的.139.所有的接口成员都必须在支持该接口的类中执行,如果不想使用给定的接口成员,可以提供一个“空“ 的执行方法(没有函数代码)140.基类必须是继承列表中的第一项.141.GetHashCode 用以对象的散列函数,返回一个以压缩形式标识的对象的值.142.抽象类和接口的区分:1) 派生类只能够继承一个抽象类,但可以使用任意多接口.2)抽象类可有抽象成员(但必须在派生类中执行,否则派生类本身必须是抽象的),接口成员必须在使用接口的类上执行-没有代码体接口成员被定义为公有的,但是抽象类的成员也可以是私有的.接口不包括静态成员,字段,变量.3)抽象类主要用于对

44、象系列的基类,共享某些主要特性,例如共同的目的和结构,接口主要是供类使用,这些类在基础水平上有所不同,但仍然可以完成某些相同的任务.143.成员复制简单的对象可以通过 System.Object 的 MemberwiseClone() 方法完成,称为浅度复制;因为他没有考虑引用类型的成员.执行一个接口IConeable 必须执行 Clone()的方法,深度复制.144.virtual 方法可以重写,abstract 方法必须重写,extern 方法定义放在其他地方.如果使用了 override,也可以使用 sealed指定在派生类中不能对这个方法做出进一步修改.145.隐藏基类的实现:空方法体

45、;new public void DoSomething() 146.IEnumerable 实现了循环集合中项的功能.ICollection 继承 IEnumerable 获取集合中项的个数,并把项复制到一个数组中.IList 继承 IEnumerable 和 ICollection 提供集合项列表,并可以访问这些项IDictionray 继承 IEnumerable 和 ICollection类似于 IList ,但提供了通过键码值而不是索引访问的项列表.CollectionBase的接口有 IList,ICollection,IEnumerableArray147.IDictionary

46、 简化的 DictionaryBase,要遍历内容其 Item 为: DictionaryEntry结构 148.转换运算符中关键字: implicit,explicit.149.is 运算符不检查两个类型是否相同,但可以检查类型是否兼容,如果转换成功,则返回true.150.as 运算符转换要么成功,否则就返回 null.151.定制异常,处理自定义异常.152.事件处理.153.控件属性设置,例如:设定 Conditional(“DEBUG“) call some method assigned by the attribute only available if DEBUG is def

47、ined154.调用堆栈,断点,命令窗口,输出,自动窗口,局部变量,监视Immediate 模式:调试和计算表达式Command 模式:发布命令计算表达式:在表达式前加上问号Command -Immediate 输入 immed 不需要大于号,否则输入 cmd 在 Immediate 模式下临时进入 Command 模式(执行单条命令)输入alias,更多命令查看 MSDN局部变量,察看断点前后三行的值155.描述下 C#中的程序集?程序集是有哪两部分组成?答:程序集是自我描述的安装单元,由一个或多个文件组成,一个程序集可以是一个包含元数据的 DLL或 EXE,也可以由多个文件组成,例如资源文

48、件、元数据、DLL 和 EXE。程序集的安装仅是复制所有的文件而已,使用 xcopy命令即可完成安装,有两种类型:私有的和共有的。156.请写出 BOOL flag 与“零值”比较的 if 语句?请写出 char p 与“零值”比较的 if 语句?答:if(flag);if(!flag)。157.说出下面几个函数的区别: private void test(string str) :通过值传送变量private void test(ref string str) :值参数通过引用传递给方法,必须先初始化 strprivate void test(out string str):str 通过引用

49、被传送,从 test中返回时,保留该方法对其的改变158.什么是强类型系统?答:C# 是强类型语言;因此每个变量和对象都必须具有声明类型159 值类型和引用类型的区别?答:值类型直接存储其值,引用类型存储对值的引用。值类型存储在堆栈中,而引用类型存储在托管堆上。值类型包括:简单类型、结构类型、枚举类型;引用类型包括:类、数组、接口、委托、字符串、数组。160 如何理解委托?答:有点类似于指针,但他是类型安全的,通过对于方法特征和返回类型的声明,封装了具有相同特征和返回类型的方法。不关心该方法是什么类型的对象,甚至是静态的还是实例的。委托可以连接在一起,可以对一个事件调用多个方法。161 事务是什么?答:在许多大型、关键的应用程序中,计算机每秒钟

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 招聘面试

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报