(2)

1对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选)(ABCD)  
A.Close
B.Dispose
C.Finalize  
D.using E.Quit

2.以下关于ref和out的描述哪些项是正确的?(多选)(ACD)  
A.使用ref参数,传递到ref参数的参数必须最先初始化。  
B.使用out参数,传递到out参数的参数必须最先初始化。  
C.使用ref参数,必须将参数作为ref参数显式传递到方法。  
D.使用out参数,必须将参数作为out参数显式传递到方法。

27.装箱、拆箱操作发生在: (C)
A.类与对象之间   B.对象与对象之间 C.引用类型与值类型之间   D.引用类型与引用类型之间

28.用户类若想支持Foreach语句需要实现的接口是: (A)
A.IEnumerable   B.IEnumerator   C.ICollection    D.ICollectData

29..Net Framework通过什么与COM组件进行交互操作?(C)
A.Side By Side B.Web Service   C.InteropD.PInvoke

30..Net依靠以下哪一项技术解决COM存在的Dll Hell问题的?(A)
A.Side By Side B.Interop C.PInvokeD.COM+

31.装箱与拆箱操作是否是互逆的操作?(B)
A.是B.否

32.以下哪个是可以变长的数组?(D)
A.Array   B.string[]   C.string[N]   D.ArrayList

33.用户自定义异常类需要从以下哪个类继承:(A)
A.Exception     B.CustomException   C.ApplicationException    D.BaseException

34.以下代码段中能否编译通过?请给出理由。try { } catch(FileNotFoundException e1) { } catch(Exception e2) { } catch

(IOException e3) { } catch { }

35.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选) (ABC)
A.Close   B.Dispose   C.Finalize   D.using    E.Quit

36.Net依赖以下哪项技术实现跨语言互用性?(C)
A.CLR     B.CTS     C.CLS    D.CTT

37.请问: String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类?(简答)
如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的工作原理不同:String类是一种传统的修改字符串的

方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符

串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使

用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直

接。当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和

String类简直不是一个数量级的。

38.以下哪个类是int的基类?( )
A.Int32   B.Object   C.ValueType   D.Int16

39.简述 private、 protected、 public、 internal 修饰符的访问权限。
private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一命名空间内可以访问。

40.写出一条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 10 * from A where id > (select max(id) from (select top 30 id from A )as A)

41.列举ASP.NET 页面之间传递值的几种方式。
1.使用QueryString, 如....?id=1; response. Redirect()....
2.使用Session变量
3.使用Server.Transfer

42.请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。
session(viewstate) 简单,但易丢失
application 全局
cookie 简单,但可能不支持,可能被伪造
input ttype="hidden" 简单,可能被伪造
url参数简单,显示于地址栏,长度有限 数据库稳定,安全,但性能相对弱

43.override与重载的区别 Override用来重写父类的方法,重载使用相同名的方法或操作符拥有不同类型的参数

44..net的错误处理机制是什么
.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。

45.C#中接口和类的异同 接口和类都是类,不同的事,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而

类只能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重

要的作用。

46.DataReader和DataSet的异同 DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对

SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader

的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗

内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作... 1.     在c#中using和new这两个关键字有什

么意义,请写出你所知道的意义? Using 引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New 实例化一个对像,或修饰一个

方法,表此方法完全重写此方法

47.请解释进程与线程的区别?进程与程序的区别?
   一般,一个应用程序对应于一个或多个进程,可以把进程看作是该应用程序在*作系统中的标识;而一个进程通常由多个线程组成,而线程

是*作系统为该应用程序分配处理时间的最小单元。

48.CLR与IL分别是什么含义?
   CLR:公共语言运行时,类似于Java中的JVM,Java虚拟机;在.Net环境下,各种编程语言使用一种共同的基础资源环境,这就是CLR,CLR将

直接与*作系统进行通信,而编程语言如C#.NET将尽量避免直接与*作系统直接通信,加强了程序代码的执行安全性,可以这样看:CLR就是具体

的编程语言如:C#.NET与*作系统之间的翻译,同时它为具体的编程语言提供了许多资源: IL,中间语言,也称MSIL,微软中间语言,或CIL,

通用中间语言;所有.NET源代码(不管用哪种语言编写)在进行编译时都被编译成IL。在应用程序运行时被即时(Just-In-Time,JIT)编译器

处理成为机器码,被解释及执行。  

49.常用的调用webservice方法有哪些?
   答: 可以从浏览器、ASP页或其他WEB服务调用可以使用HTTP-GET,HTTP-POST访问WEB服务也可以从ASP页或其他WEB服务向其他WEB服务发出

SOAP请求HTTP-GET   HTTP-POST SOAP 使用WEB服务代理

50.某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
(1) 密码单词的最小长度是两个字母,可以相同,也可以不同
(2) K不可能是单词的第一个字母
(3) 如果L出现,则出现次数不止一次
(4) M不能使最后一个也不能是倒数第二个字母
(5) K出现,则N就一定出现
(6) O如果是最后一个字母,则L一定出现

问题一:下列哪一个字母可以放在LO中的O后面,形成一个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 答案:C

51.62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?
答案:62移动成2的6次方.

52.new有几种用法
第一种:new Class();
第二种:覆盖方法
public new XXXX(){}
第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。

53.如何把一个array复制到arrayList里
foreach( object o in array )arrayList.Add(o);

54.datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview]
dataset,datatable,dataview , IList

55.概述反射和序列化
反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型

的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性
序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传

输该对象。在另一端,反序列化将从该流重新构造对象。

posted @ 2008-11-19 22:08  举个栗子  阅读(684)  评论(0编辑  收藏  举报