版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课后习题第2章1、答:AC2、答:值类型分配在堆栈上,通过拷贝赋值,通过值来传参。引用类型分配在堆上,通过引用赋值,以引用传参。(堆:用于动态分配和释放程序所使用的对象)3、答:装箱和拆箱的概念是 C# 的类型系统的核心。它在 value-type 和 reference-type 之间的架起了一座桥梁,使得任何 value-type 的值都可以转换为 object 类型的值,反过来转换也可以。装箱和拆箱使我们能够统一地来考察类型系统,其中任何类型的值最终都可以按对象处理。4、答:C5、答:所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型。泛型类型是一种编程范式,它利用“参数化类
2、型”将类抽象化,从而实现更为灵活的复用。即在定义时为一种抽象的数据类型,到具体使用的时候用什么类型实例化就是什么类型。装箱和拆箱在数据量很大的时候实际上系统性能是非常低的,为了解决这个问题,在VS2005中提出了泛型的概念。6、答:如果要检查泛型列表中的某个项以确定它是否有效,或者将它与其他某个项进行比较,则编译器必须在一定程度上保证它需要调用的运算符或方法将受到客户端代码可能指定的任何类型参数的支持。这种保证是通过对泛型类定义应用一个或多个约束获得的。第3章1、答:把应用程序源代码经过编译器的编译转换成可以在cpu上直接运行的二进制编码,也就是机器语言。2、答:实时编译器 just-in-t
3、ime(JIT compiler3、答:Microsoft中间语言,或者托管代码。编译器将源代码翻译为Microsoft中间语言(MSIL)这是一组可以有效地转换为本机代码且独立于CPU的指令。MSIL包括用于加载、存储和初始化对象以及对对象调用方法的指令。4、答:元数据描述的是对应托管代码中定义的类型的信息,它与编译对应类型生成的MSIL存储在同一个文件中。5. 答:可以适应更广泛的编译环境。6. 答:元数据和程序集8 答:元数据描述模块中包含的类型。它为类型所存储的信息包括: 类型名称。 类型可见性,可以是公共的或程序集。 此类型继承自哪个类型(如果存在的话)。 该类型所实现的任何接口。
4、该类型所实现的任何方法。 该类型所公开的任何属性。 该类型提供的任何事件。11. 答:第4章1、答:System.CodeDom 命名空间包含可以用于表示源代码文档的元素和结构的类。System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位、数组、哈希表和字典)的集合。 System.ComponentModel 命名空间提供用于实现组件和控件运行时和设计时行为的类。System.Configuration 命名空间包含提供用于处理配置数据的编程模型的类型,允许访问基于.NET框架的应用程序的配置信息。 System.Data 命名空间提供对表示 A
5、DO.NET 结构的类的访问。System.Diagnostics 命名空间提供特定的类,使您能够与系统进程、事件日志和性能计数器进行交互。 System.DirectoryServices 命名空间用以从托管代码简便地访问 Active Directory。System.Drawing 命名空间提供了对 GDI+ 基本图形功能的访问。System.EnterpriseServices 命名空间为企业应用程序提供重要的基础结构。System.Globalization 命名空间包含定义区域性相关信息的类,这些信息包括语言、国家/地区、使用的日历、日期、货币和数字的格式模式以及字符串的排序顺序。
6、我们可以使用这些类编写全球化(国际化)应用程序。System.IO 命名空间包含允许读写文件和数据流的类型以及提供基本文件和目录支持的类型。System.Management提供对大量管理信息和管理事件集合的访问,这些信息和事件是与根据 Windows 管理规范 (WMI 结构对系统、设备和应用程序设置检测点有关的。 System.Media 命名空间包含用于播放声音文件和访问系统提供的声音的类。 System.Messaging 命名空间提供一些类,您可以使用这些类连接到、监视和管理网络上的消息队列,并发送、接收或查看消息。System.Net 命名空间为当前网络上使用的多种协议提供了简单的
7、编程接口。System.Reflection 命名空间包含提供加载类型、方法和字段的有组织的视图的类和接口,具有动态创建和调用类型的功能。System.Resources 命名空间提供各种类和接口,这些类和接口使开发人员可以创建、存储和管理在应用程序中使用的不同特定于区域性的资源。System.Runtime 命名空间包含支持不同命名空间(如 System、Runtime 命名空间和 Security 命名空间)的高级类型。 System.Security 命名空间提供公共语言运行库安全系统的基础结构,包括权限的基类。System.ServiceProcess 命名空间提供用于实现、安装和控制
8、 Windows 服务应用程序的类。System.Text 命名空间包含表示 ASCII、Unicode、UTF-7 和 UTF-8 字符编码的类;用于将字符块转换为字节块和将字节块转换为字符块的抽象基类;以及操作和格式化 String 对象而不创建 String 的中间实例的 Helper 类。 System.Threading 命名空间提供一些使得可以进行多线程编程的类和接口。System.Timers 命名空间提供 Timer 组件,它使您可以指定的间隔引发事件。 System.Transactions是NET Framework 2.0 版包含的一个新的事务框架,此框架公开事务的方式是
9、完全集成在 .NET Framework 中,并包含 ADO.NET。 System.Web 命名空间提供使得可以进行浏览器与服务器通信的类和接口,可以说System.Web 命名空间是.NET 框架类库中最重要的命名空间,它包含的软件实现了ASP.NET 。System.Xml命名空间中的类用于处理XML文档。3、答:反射通常可以这样来理解:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。4、答:(1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块
10、,以及从此程序集中查找类型并创建该类型的实例。 (2)使用Module了解包含模块的程序集以及模块中的类等,还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。 (3)使用ConstructorInfo了解构造函数的名称、参数、访问修饰符(如public 或private)和实现详细信息(如abstract或virtual)等。使用Type的GetConstructors或GetConstructor方法来调用特定的构造函数。 (4)使用MethodInfo了解方法的名称、返回类型、参数、访问修饰符(如pulic 或private)和实现详细信息(如abstract或virtual)等
11、。使用Type的GetMethods或GetMethod方法来调用特定的方法。 (5)使用FiedInfo了解字段的名称、访问修饰符(如public或private)和实现详细信息(如static)等,并获取或设置字段值。(6)使用EventInfo了解事件的名称、事件处理程序数据类型、自定义属性、声明类型和反射类型等,添加或移除事件处理程序。 (7)使用PropertyInfo了解属性的名称、数据类型、声明类型、反射类型和只读或可写状态等,获取或设置属性值。 (8)使用ParameterInfo了解参数的名称、数据类型、是输入参数还是输出参数,以及参数在方法签名中的位置等。5、答:XML阅读
12、器的客户端收到一个指向阅读器实例的引用。该实例提取底层的数据流并把取出的数据呈现为一棵XML树。阅读器类提供只读、向前的游标,你可以用阅读器类提供的方法滚动游标遍历结果集中的每一条数据。System.XML还包含XmlDocument类,提供了一个DOM API实现。尽管使用XmlReader是访问XML文档信息的最快速方式,但XmlDocument类却更常被使用,因为它允许在一个文档中进行导航,可以随心所欲地向后或向前移动。开发人员应该选择最合乎它需求的一种访问方式。6、答:事务的思想,即一组(两个或多个)操作作为一个单元成功或失败,是众多应用程序的基础。这个概念本身简单:所有操作要么全部成
13、功,要么全部失败。然而,由于软件可能会遭受无数的物理打击,要确保一组操作只能够得出这两种结果,根本没那么简单。因此,.NET Framework 提供了使创建事务性应用程序更为容易的服务。使用System.Transactions控制事务性行为最简单的方法是使用TransactionScope类型的对象。以下的代码描述了应用程序如何使用该类创建新事务,在其中执行操作,然后提交事务。7、答:组件化技术指的是利用组件技术来开发的那么一种方法。什么是组件技术,它是组件化开发的核心。组件是指我们可以用来重用,进行发布,进行部署的这么一种二进制代码单元。组件技术就是来规定如何来定义这样一种代码单元的规范
14、。所以组件并不一定是遵循某种规范,组件它有一些很明显的特性和特征。对组件来说,最重要的一个技术和一个特点,就是它定义了接口,就是如何来使用你的组件,组件内部定义了实现接口的方法。但是接口的定义,通常来说在大多数组件技术当中都是和实现可以分离的,不是紧密地绑定在一起的。那么通过组件技术我们就可以去解决编程当中两个很大的问题。第一个是代码的重用,它非常方便来实现代码的重用。第二个可以解决代码的部署,以组件为单元来部署应用程序,会比以前部署整个应用程序来得便利和灵活得多。8、答:一个所谓的GUI应用程序,会在屏幕上显示一个表单,然后等待用户输入。这个输入一般通过消息循环进行处理,由它将输入传递到适当
15、位置一般作为一个或多个事件。例如当用户点击按钮,或击键,或移动鼠标时,就会产生事件,发送到用户正在访问的表单中。关联到表单上的代码会处理这些事件,可能将结果输出到屏幕上,也可能执行别的任务。第5章1、2、答:Array、ArrayList、StringCollection和TreeNodeCollection实现了IList 接口。3、答:类型检查不能在编译时执行。强制类型转换的性能开销。对于值类型的集合,装箱与取消装箱的操作。4、 答:C5、答:A第6章1、答:B2. 答:public delegate bool ProcessOrderCallback (int Quantity, str
16、ing, string Item;3、答:delegate void MyDelegate(;MyDelegate a, b;a = new MyDelegate(Bar1.Foo1;b = new MyDelegate(Bar2.Foo2;a += b;4. 答:可以使用委托在委托对象的内部封装对方法的引用。因为委托是类型安全的、牢靠的、托管的对象,所以它们提供了指针的所有优点,而没有指针的任何缺点。例如,委托总是指向正确的对象,并且不会破坏其他对象的内存。5、答:public static event ProcessOrderEventHandler processOrderHandler
17、;6、.答:在下面的情况下使用委托: 需要语言样式的函数指针 需要单个回调函数 希望注册在调用或构造时发生,而不是通过单独的add 方法在下面的情况下使用事件: 客户端代码在事件发生前为回调函数注册,一般通过单独的add 方法 一个以上的客户端对象将受到影响第7章1、答:B2. 答:D3. 答:C4. 答:FileStream对文件进行读取和写入。MemoryStream 对内存进行读取和写入。BufferedStream用于对另外一个流进行缓冲读取和写入。NetworkStream为网络访问提供数据的基础流5. 答:读取、写入和查找。6. 答:BinaryReader和BinaryWrite
18、r。7. 答:Seek。8. 答:FileSystemWatcher。9. 答:独立存储是一种数据存储机制,通过在代码和保存的数据之间定义了标准化的关联方式,从而提供隔离性和安全性。当应用程序在文件中存储数据时,必须小心选择文件名和存储位置,最大程度地减小其他应用程序知道该存储位置的可能性。因此,使数据不易受到损坏。独立存储提供了管理下载Web应用程序文件来最大程度地减小存储冲突的手段。通过独立存储,代码不再需要使用唯一路径来指定文件系统中的安全位置,就可以保护数据以防止未授权的访问。不再需要指示应用程序的存储区域位置的硬代码信息。通过独立存储,可以使部分受信任的应用程序以由计算机安全策略控制
19、的方式存储数据。10. 答:文件通常表示持久化保存在磁盘上的字符序列,它具有名称和路径;而流是一个字符序列的抽象表示,它提供了一个向后备存储区(如磁盘或内存)中读取和写入字节的方法。所有表示流的类都继承自Stream类。Stream类和它的子类提供了对数据源和储存库的种类视图,并将程序员与操作系统和底层设备的具体细节隔离开。第8章1、答:B2、答:D3、答:C4、答:A5、答:文本系统站点、本地IIS站点、远程IIS站点和文件传输协议(FTP)站点。6、答:一般存放在App_Code文件中,在该文件夹中存放进行编译的实用工具类和业务对象(例如.cs文件)的源代码或子文件夹。在应用程序中将自动引
20、用App_Code文件夹中的代码。在动态编译的应用程序中,当对应用程序发出首次请求时,ASP.NET编译App_Code文件夹中的代码,以后如果检测到任何更改则重新编译该文件夹中的项。7、答:Page_Load事件。在Page对象上载入服务器控件。由于此时视图状态信息是可以使用的,因此在这里可以用代码来改变控件的设置或者在页面上显示文本。8、答:标准控件、数据控件、数据源控件、验证控件、导航控件、登录控件9、 答:Application对象、Session对象、数据库支持10、 答:查询字符串、隐藏域、状态视图、Cookies对象11、答:减少不必要的资源消耗。提高CPU和内存的使用率。12、
21、答:选择会话状态提供程序、避免不必要的服务器往返、在适当的环境中使用服务器控件、只有在必要时使用状态视图、不要依赖代码的异常处理、尽可能的使用自动垃圾回收、使用服务器端重定向、使用存储过程、使用DataReader、选择合适的控件、只要可能就使用缓存、使用 ASP.NET 缓存机制有两点需要注意、一定禁用调试模式13、 答:输出缓存和数据缓存。14、 答:Forms验证、Windows验证和Passport验证第9章1、答案D2、答案C3、答案A4、答:Data source=(local;initial catalog=Customer;uid=sa;wd=sql2005;5、答:调用有参的存储过程:1创建连接对象并设置其连接字符串的属性2)创建命令对象并设置其Connection、CommandText及CommandType属性。3)创建参数对象并设置其属性,并将所有参数添加到命令对象的Parameters集合中4)执行命令对象的方法5)关闭相关对象。调用无参存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 股二头肌损伤病因介绍
- 教案课件下载
- 2024年度艺术家共同创作及版权归属合同3篇
- 《财务软件的应用》课件
- 关于Hobby的阅读小学英语教学教材课件
- 《客户关系管理实务》电子教案 17拜访客户
- 福建省安溪一中、养正中学、惠安一中、泉州实验中学2024-2025学年高一上学期期中联考语文试卷
- 新人教版二年级数学上册第五单元 观察物体(2)课程
- 幼儿园成长档案
- 男性性功能障碍病因介绍
- 2023年杭州市上城区教育局招聘事业编制教师考试真题
- 心脑血管疾病预防的课件
- 胰腺穿刺的护理
- 肠内营养治疗病例分享
- 中等职业学校对口升学教学管理办法
- 湖南省博物馆介绍
- 污水处理厂运行及问题-污水厂的运营与维护方案
- 教务系统方案
- 丹参舒心胶囊的质量控制标准研究
- 祖父的园子说课(精美)
- 小红书公司的员工手册
评论
0/150
提交评论