net framework2.0程序设计课后习题答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1章Microsoft.NETFramework概要习题答案1..NETFramework不支持哪种类型的用户界面?a)Web窗体b)Windows窗体c)公共语言运行库d)控制台应用程序答:c2.下面哪个不是.NETFramework类库的主要特点和提供的高级服务:a)跨语言继承和调试b)很容易学习和掌握c)是面向对象d)是安全且易于扩充答:b3.垃圾收集器要求程序员a)为对象分配内存并在使用完毕后可不必释放它。b)为对象分配内存但在使用完毕后要释放它。c)不必为对象分配内存但在使用完毕后要释放它。d)不必为对象分配内存且在使用完毕后可不必释放它。答:a4.列出.NETFramework的组件。答:公共语言运行库(CLR)、.NETFramework类库、数据和XML、XMLWebservice、Web窗体和Windows窗体。5.公共语言运行库的用途是什么?答:公共语言运行库(CLR)提供执行代码的环境、编译器、语言独立性和轻便性、以及执行垃圾回收。6.公共语言规范的用途是什么?答:公共语言规范(CLS)定义了一套所有与.NET兼容的语言应该支持的特性。7.什么是XMLWebService?答:XMLWebservice是可编程的Web组件,它可以在Internet或者企业内部网的Web应用程序之间共享。8.什么是托管环境?答:托管环境提供一些服务,如垃圾回收、安全性以及其他类似的特性。9.如何从某类的全名中识别它的命名空间名称和类型名称答:因为.NETFramework类库中包含数百个类,所以将这些类分组到命名空间中。全名的第一部分(最右边点的前面部分)是命名空间名称。全名的最后一部分(最右边点的后面部分)是类型名称。10..NETFramework类库(FCL)如何组织其众多的类型?答:由于.NETFramework类库(FCL)包含了如此众多类型的定义,所以类库要以层次的命名空间结构来进行组织。命名空间使用点句法命名方案将有关联的类逻辑分组,以便易于对其进行搜索和引用。11.解释什么叫托管代码。答:以CLR为目标的代码称为托管代码,它由伪机器语言编写的指令组成,这种语言也称为通用中间语言(CommonIntermediateLanguage,CIL)。CIL指令可在运行时实时(JIT)编译为本机代码(典型的x86代码)。第2章托管执行环境的介绍习题答案1.元数据(metadata)类型不支持运行库做下面哪个功能?a)外部注册b)设定运行时上下文边界c)消解方法调用d)提供反射功能答:a2.共语言运行库提供下面哪个工具来测试和调试MSIL?a)MSIL编译程序b)只有MSIL反汇编程序c)MSIL编译程序和MSIL反汇编程序d)MSIL程序集和MSIL反汇编程序答:d3.关于命名空间,下面正确的说法是哪个?a)命名空间不能嵌套另一个命名空间b)在不同命名空间中,类型可以具有相同的名字c)一个命名空间不能在多个文件中定义d)单独一个源代码文件不能定义多个命名空间答:b4.在默认情况下,同一命名空间的成员具有的访问性是a)publicb)protectc)internald)private答:c5.下面哪一个命名空间声明的类与其他三个不同?a).namespaceMySchool.FirstNamespace{classClassA{}classClassB{}}b).namespaceMySchool.FirstNamespace{classClassA{}}namespaceMySchool.FirstNamespace{classClassB{}}c).namespaceMySchool{namespaceFirstNamespace{classClassA{}}classClassB{}}d).namespaceMySchool{namespaceFirstNamespace{classClassA{}classClassB{}}}答:c6..NETFramework中类型的根命名空间名称是什么?答:System命名空间是.NETFramework中类型的根命名空间。7.应用程序可以使用什么类和方法来对控制台进行输入和输出?答:在公共语言运行库中,你可以使用System命名空间中的Console类的Read、ReadLine、Write和WriteLine等方法,实现向控制台输入输出字符串或数值。8.当编译引用程序集中类(除mscorlib.dll外)的代码时,你必须做什么?答:必须使用/reference编译开关选项。使用/reference编译选项后,编译器使指定库中的信息对当前正在编译的源程序可用。/r开关等效于/reference开关。9..NET编译器产生的代码叫什么?答:Microsoft中间语言(MSIL),有时也叫托管代码。10.哪一个.NET组件将MSIL编译成特定于CPU的本机代码?答:实时(JIT)编译器。11..NET的哪个特性确保对象占用的内存被回收?答:垃圾回收过程。12.公共语言运行库有什么优点?答:所有托管代码都通过使用公共语言运行库运行,公共语言运行库提供了跨语言集成、自动内存管理、跨语言异常处理、增强安全性以及一致性和简化的编程模型。第3章使用组件习题答案1.XMLWeb服务基于下面哪个协议进行通信以在应用程序之间传输XML消息?a)DCOMb)SOAPc)Internetd)TCP/IP答:b2.下面哪个特点属于CLR实现的例外处理机制?a)考虑产生例外的语言b)考虑被调用来处理例外的语言c)需要特定的句法d)允许例外跨越过程边界和机器边界答:d3.和其他错误通知方法(比如Win32GetLastError,DCOM的HRESULT)相比,异常提供什么优点?答:异常优于其他错误通知方法:程序不会因为代码编写人员的疏忽比如忘记检查返回代码而让错误继续在系统传播不必检查返回代码;可以容易地添加异常处理代码,增强了程序的可靠性;4.如何使用try/catch/finally语句捕获异常?答:把可能引发异常的代码放入try块中,并且把处理异常的代码置入catch块中。你也可以编写finally块,它总是运行而无须考虑try块如何运行。finally块在try块后清除资源非常有用。例如,在C#中:try{//可能引发异常的代码}catch(Exceptione){//放置处理异常的代码}finally{//放置在try或catch运行之后运行的代码}5..NET方法如何指出错误?答:所有的.NETFramework方法通过引发异常来指出错误。6.哪个命名空间中包含创建Windows窗体应用程序的类?答:Windows窗体库位于System.Windows.Forms命名空间里。7.ASP.NET页的默认扩展名是什么?答:默认情况下,ASP.NET文件具有aspx扩展名(用户控件文件的扩展名是ascx)第4章部署与版本控制习题答案1.部署应用不会使用下面哪种方式?a)拷贝文件局部地安装b)删除文件拆除应用c)直接从服务器运行可执行文件d)直接从客户机运行可执行文件答:c2.版本号为2.1.2.3的程序集可能和下面哪个版本号的程序集兼容?a)1.1.2.3b)2.2.2.3c)2.1.5.2d)2.0.2.3答:c3.策略解决方案不会发生在哪个阶段?a)编译程序策略解析b)发行者策略解析c)管理员策略解析d)应用程序策略解析答:不清楚出题人编译程序策略和发行者策略指的要强调的是什么?InheritanceDemand,LinkDemand都可用来保护知识产权。4.解释程序集(assembly)的组成结构和作用。答:由一个或多个PE格式文件组成的;包含用来识别程序集及其文件的清单;指明导出文件和导入的类(Clsss)和类型(Type);是部署、重用和版本控制的单元。5.程序集的哪一部分能够识别出它的输入类型、输出类型和它的版本信息?答:程序集清单6.一台计算机要在本地运行一个.NET应用程序时,需要什么软件?答:.NETFramework公共语言运行库7.指出运行.NETFramework应用程序的两种简单方法。答:把可执行文件复制到本地并引用本地计算机的程序集,或从文件服务器上访问它们。8.描述一个应用程序如何使用位于应用程序子目录中的程序集。答:在应用程序目录创建配置文件,指定它的privatePath属性如下:configurationruntimeassemblyBindingxmlns=urn:schemas-microsoft-com:asm.v1probingprivatePath=MyStringer//assemblyBinding/runtime/configuration9.哪一种程序集能被放到全局程序集缓存中并能被版本化?答:强名称程序集10.用于产生公钥/私钥对的是什么命令?答:强名称工具(Sn.exe)可以用来生成一个公钥/私钥对,并把它们放置在一个sn–korgKey.snk文件中11.用来把一个强名称程序集安装到全局程序集缓存中的是什么命令?答:gacutil-ifilename12.弱名称与强名称程序集之间的区别是什么?答:真正区别是:强名称程序集是用发布者的公/私密钥对来签署的,此公/私密钥对能够惟一识别程序集的发布者。这密钥对允许程序集被唯一识别、保护以及版本控制,它也允许程序集被部署到用户硬盘的任何地方,甚至在Internet上。当应用程序试图绑定强名称程序集时,这种惟一地识别一个程序集的能力允许CLR加强确定“知道是安全的”的策略。全局地部署程序集是把程序集放到一些众所周知的单元,当需要查找某程序集时,CLR知道去查找它。强名称程序集可以按私有方式或全局方式部署。一个弱名称程序集只能以私有方式部署。第5章通用类型系统习题答案1关于C#中类的构造函数,下面描述正确的是:a)为了增强类的封装性,构造函数一般被声明成Private型b)在类中可以重载构造函数,C#会根据参数匹配原则来选择执行合适的构造函数c)与方法不同的是,构造函数只有void这一种返回类型d)构造函数如同方法一样,需要人为调用才能执行其功能答:b2下面的接口声明中,哪一个是正确的?a)publicinterfaceTryInterface{voidMyMethod();}b)interfaceTryInterface:IBase{publicvoidMyMethod();}c)interfaceTryInterface{intx;}d)interfaceTryInterface:TryInterface{publicvoidMyMethod();}答:a3关于枚举成员赋值,下面代码正确的答案是:publicenumColor:long{Red,Yellow=6,Green,Brown=Green,Blue}a)Red=0Yellow=6Green=7Brown=8Blue=9b)Red=0Yellow=1Green=2Brown=3Blue=4c)Red=1Yellow=6Green=7Brown=8Blue=9d)Red=0Yellow=6Green=7Brown=7Blue=8答:d4下面哪个类型不是从system.object继承来的a)数组b)字符串c)接口d)类答:c5值类型和引用类型的区别是什么?答:值类型被分配在栈中,使用拷贝赋值(assignedascopies),按值传递。引用型被分配在堆中,作为引用赋值(assignedasreferences),按引用传递。6字段和属性之间有什么不同?答:属性是类中的值,它通过get和set访问器方法被访问。实际的属性数据值可以存储在类实例中,或者在访问的时候计算出来。7如何在C#中创建枚举?答:使用enum关键字:enumname:type{……枚举成员……}8什么是接口?答:接口是一组相关方法和属性的约定描述。9.NETFramework是如何支持封装的?答:封装是通过使用访问

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功