。NET课后习题答案

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

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

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

资源描述

1课后习题第2章1、在托管环境下,下面()是正确的。A.系统自动提供诸如垃圾回收、安全性等通用服务B.如果需要,开发人员可以关闭代码安全验证功能C.如果需要,垃圾回收可以手动进行D.开发者不能跟踪代码的执行E.运行时,代码与类库是独立的答:AC2、值类型和引用类型的区别有哪些?答:值类型分配在堆栈上,通过拷贝赋值,通过值来传参。引用类型分配在堆上,通过引用赋值,以引用传参。(堆:用于动态分配和释放程序所使用的对象)3、什么是装箱和拆箱?答:装箱和拆箱的概念是C#的类型系统的核心。它在value-type和reference-type之间的架起了一座桥梁,使得任何value-type的值都可以转换为object类型的值,反过来转换也可以。装箱和拆箱使我们能够统一地来考察类型系统,其中任何类型的值最终都可以按对象处理。4、下列代码段中取消装箱操作的是()。A.intx=5;Objecto=x;B.intx=5;Console.writeLine(“Theansweris:{0}”,x);C.intx=5;Objecto=x;Inty=(int)o;D.shorts=5;Objecto=s;答:C5、什么是泛型?为什么要使用泛型?答:所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型。泛型类型是一种编程范式,它利用“参数化类型”将类抽象化,从而实现更为灵活的复用。即在定义时为一种抽象的数据类型,到具体使用的时候用什么类型实例化就是什么类型。2装箱和拆箱在数据量很大的时候实际上系统性能是非常低的,为了解决这个问题,在VS2005中提出了泛型的概念。6、为什么要使用泛型约束?答:如果要检查泛型列表中的某个项以确定它是否有效,或者将它与其他某个项进行比较,则编译器必须在一定程度上保证它需要调用的运算符或方法将受到客户端代码可能指定的任何类型参数的支持。这种保证是通过对泛型类定义应用一个或多个约束获得的。第3章1、什么是应用程序的编译?答:把应用程序源代码经过编译器的编译转换成可以在cpu上直接运行的二进制编码,也就是机器语言。2、哪个组件把MSIL编译成本地代码?答:实时编译器just-in-time(JIT)compiler3、.NET编译器生成的代码叫什么?答:Microsoft中间语言,或者托管代码。编译器将源代码翻译为Microsoft中间语言(MSIL)这是一组可以有效地转换为本机代码且独立于CPU的指令。MSIL包括用于加载、存储和初始化对象以及对对象调用方法的指令。4、什么是元数据?答:元数据描述的是对应托管代码中定义的类型的信息,它与编译对应类型生成的MSIL存储在同一个文件中。5..NETFramework使用中间代码的好处是什么?答:可以适应更广泛的编译环境。6.基于CKR的语言编写的源代码在编译时将生成哪两种内容?答:元数据和程序集7.元数据包含哪些内容?答:元数据描述模块中包含的类型。它为类型所存储的信息包括:类型名称。类型可见性,可以是公共的或程序集。此类型继承自哪个类型(如果存在的话)。该类型所实现的任何接口。该类型所实现的任何方法。3该类型所公开的任何属性。该类型提供的任何事件。11.程序集清单包含哪些内容?答:第4章1、列举System下包含的5个命名空间,分别指出其可以实现的功能?答:System.CodeDom命名空间包含可以用于表示源代码文档的元素和结构的类。System.Collections命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位、数组、哈希表和字典)的集合。System.ComponentModel命名空间提供用于实现组件和控件运行时和设计时行为的类。System.Configuration命名空间包含提供用于处理配置数据的编程模型的类型,允许访问基于.NET框架的应用程序的配置信息。System.Data命名空间提供对表示ADO.NET结构的类的访问。System.Diagnostics命名空间提供特定的类,使您能够与系统进程、事件日志和性能计数器进行交互。System.DirectoryServices命名空间用以从托管代码简便地访问ActiveDirectory。System.Drawing命名空间提供了对GDI+基本图形功能的访问。System.EnterpriseServices命名空间为企业应用程序提供重要的基础结构。System.Globalization命名空间包含定义区域性相关信息的类,这些信息包括语言、国家/地区、使用的日历、日期、货币和数字的格式模式以及字符串的排序顺序。我们可以使用这些类编写全球化(国际化)应用程序。4System.IO命名空间包含允许读写文件和数据流的类型以及提供基本文件和目录支持的类型。System.Management提供对大量管理信息和管理事件集合的访问,这些信息和事件是与根据Windows管理规范(WMI)结构对系统、设备和应用程序设置检测点有关的。System.Media命名空间包含用于播放声音文件和访问系统提供的声音的类。System.Messaging命名空间提供一些类,您可以使用这些类连接到、监视和管理网络上的消息队列,并发送、接收或查看消息。System.Net命名空间为当前网络上使用的多种协议提供了简单的编程接口。System.Reflection命名空间包含提供加载类型、方法和字段的有组织的视图的类和接口,具有动态创建和调用类型的功能。System.Resources命名空间提供各种类和接口,这些类和接口使开发人员可以创建、存储和管理在应用程序中使用的不同特定于区域性的资源。System.Runtime命名空间包含支持不同命名空间(如System、Runtime命名空间和Security命名空间)的高级类型。System.Security命名空间提供公共语言运行库安全系统的基础结构,包括权限的基类。System.ServiceProcess命名空间提供用于实现、安装和控制Windows服务应用程序的类。System.Text命名空间包含表示ASCII、Unicode、UTF-7和UTF-8字符编码的类;用于将字符块转换为字节块和将字节块转换为字符块的抽象基类;以及操作和格式化String对象而不创建String的中间实例的Helper类。System.Threading命名空间提供一些使得可以进行多线程编程的类和接口。System.Timers命名空间提供Timer组件,它使您可以指定的间隔引发事件。System.Transactions是NETFramework2.0版包含的一个新的事务框架,此框架公开事务的方式是完全集成在.NETFramework中,并包含ADO.NET。System.Web命名空间提供使得可以进行浏览器与服务器通信的类和接口,可以说System.Web命名空间是.NET框架类库中最重要的命名空间,它包含的软件实现了ASP.NET。System.Windows.Forms命名空间包含用于创建基于Windows的应用程序的类,以充分利用MicrosoftWindows操作系统中提供的丰富的用户界面功能。System.Xml命名空间中的类用于处理XML文档。2、.NETFramework类库中如何提供对序列化的支持?答:序列化工作由一个特定的格式器完成,每个格式器都提供Serialize和Deserialize方法。.NET5框架类库提供了两套不同的格式器,一个是二进制格式器(BinaryFormatter),实现于命名空间System.Runtime.Serialization.Formatters.Binary的BinaryFormatter类中,将对象序列化为一个“直截了当、形式精简、解析快速”的二进制格式。另一个格式器是SOAP格式器,实现于命名空间System.Runtime.Serialization.Formatters.Soap中的类SoapFormatter,将一个对象序列化成为一个SOAP消息。3、什么是反射?答:反射通常可以这样来理解:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。4、反射的作用是什么?答:(1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例。(2)使用Module了解包含模块的程序集以及模块中的类等,还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。(3)使用ConstructorInfo了解构造函数的名称、参数、访问修饰符(如public或private)和实现详细信息(如abstract或virtual)等。使用Type的GetConstructors或GetConstructor方法来调用特定的构造函数。(4)使用MethodInfo了解方法的名称、返回类型、参数、访问修饰符(如pulic或private)和实现详细信息(如abstract或virtual)等。使用Type的GetMethods或GetMethod方法来调用特定的方法。(5)使用FiedInfo了解字段的名称、访问修饰符(如public或private)和实现详细信息(如static)等,并获取或设置字段值。(6)使用EventInfo了解事件的名称、事件处理程序数据类型、自定义属性、声明类型和反射类型等,添加或移除事件处理程序。(7)使用PropertyInfo了解属性的名称、数据类型、声明类型、反射类型和只读或可写状态等,获取或设置属性值。(8)使用ParameterInfo了解参数的名称、数据类型、是输入参数还是输出参数,以及参数在方法签名中的位置等。5、如何使用XML文档的读写器和DOM文档分析器来实现对XML文档的访问?答:XML阅读器的客户端收到一个指向阅读器实例的引用。该实例提取底层的数据流并把取出的数据呈现为一棵XML树。阅读器类提供只读、向前的游标,你可以用阅读器类提供的方法滚动游标遍6历结果集中的每一条数据。System.XML还包含XmlDocument类,提供了一个DOMAPI实现。尽管使用XmlReader是访问XML文档信息的最快速方式,但XmlDocument类却更常被使用,因为它允许在一个文档中进行导航,可以随心所欲地向后或向前移动。开发人员应该选择最合乎它需求的一种访问方式。6、什么是事务?如何使用事务?答:事务的思想,即一组(两个或多个)操作作为一个单元成功或失败,是众多应用程序的基础。这个概念本身简单:所有操作要么全部成功,要么全部失败。然而,由于软件可能会遭受无数的物理打击,要确保一组操作只能够得出这两种结果,根本没那么简单。因此,.NETFramework提供了使创建事务性应用程序更为容易的服务。使用System.Transactions控制事务性行为最简单的方法是使用TransactionScope类型的对象。以下的代码描述了应用程序如何使用该类创建新事务,在其中执行操作,然后提交事务。7、什么是组件化技术?答:组件化技术指的是利用组件技术来开发的那么一种方法。什么是组件技术,它是组件化开发的核心。组件是指我们可以用来重用,进行发布,进行部署的这么一种二进制代码单元。组件技术就是来规定如何来定义这样一种代码单元的规范。所以组件并不一定是遵循某种规范,组件它有一些很明显的特性和特征。对组件来说,最重要的一个技术和一个特点,就是它定义了接口,就是如何来使用你的组件,组件内部定义了实现接口的方法。但是接口的定义,通常来说在大多数组件技术当中都是和实现可以分离的,不是紧密地绑定在一起的。那么通过组件技术我们就可以去解决编程当中两个很大的问题。第一个是代码的重用,它非常方便来实现代码的重用。第二个可以解决代码的部署,以组件为单元来部署应用程序,会比以前部署整个应用程序来得便利和灵活得多。8、如何开发Win

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

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

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

×
保存成功