2024年6月3日发(作者:)

第一章:简述.NET程序的编译和执行机制。

.NET代码的执行受CLR管理,其工作原理:当编译.NET源程序时,编译器并不输出操作系

统特定的本机代码,而是编译为公共中间语言代码CIL,CIL类似于java的字节码,不隶属于

任何特定的操作系统或者编程语言。这就是.NET程序具有可移植性的原因。

当.NET程序运行时,CLR负责激活JIT编译器,JIT的作用类似于java中的虚拟机。JIT负责

将CIL转换成本地可执行代码。尽管.NET源程序最初被编译成CIL,但实际上是以本机代码

运行的,这就意味着程序运行速度几乎与最初就把它编译为本机代码一样快。

简述值类型和引用类型的主要区别。值类型直接存放实际数据,每个值类型都有自己固定的

长度。值类型的变量保存放在栈中,栈用于存储固定长度的数据。引用类型存储的是数据的

内存地址,位于受管制的堆中。在堆上分配内存,内存开销大。

1、面向对象程序设计语言的三个最基本的特征是什么?面向对象具有封装、继承和多态三

个基本特征。封装是所谓的信息隐藏,继承是面对对象程序设计的基石,多态是对于同一个

类的对象,在不同的场合能够表现出不同的行为和特征。(静态和动态)

2、什么是抽象类和接口?它们有何不同?抽象类是一种不能被实例化的类,它可以用来封

装类的通用功能。接口是一个完全抽象的成员集合,只为相关操作定义一个规则,接口的实

现完全留给设计者去完成。抽象类通过更新父亲,所有派生类都将自动进行相应更新,而接

口在创建后就不能更新了,如果需要修改接口,则必须创建新的接口。

简述.NET异常处理机制。1.C#程序在执行过程中一旦出现异常,就会自动产生一个异常类对

象。该异常类对象被提交给C#运行时的系统,这个过程称为抛出异常。(此外还可以通过

throw语句强制产生)2.C#运行时,系统接收到异常对象后,会寻找能处理该异常的方法并

把当前异常对象交给其处理,这一过程称为捕获异常。3.当C#运行时,系统找不到可以捕

获异常的方法,运行时系统将终止,相应的C#程序也将退出。

补充:在VS2008的windows应用开发中,提供了哪几个通用的对话框,并简述这些对话框

的基本用途。1.文件打开和保存对话框。文件打开对话框(OpenFileDialog)用于返回用户所

选要打开文件的路径。文件保存对话框(SaveFileDialog)用于获取用户保存文件的路径。2.

颜色对话框。颜色对话框(ColorDialog)用户可以方便的获取和设置选定的颜色,最主要的

属性是Color。

3.字体对话框。字体对话框(FontDialog)允许用户从列出的字体中选择一种字体。最主要

的属性是Font。4.打印对话框。打印对话框(PrintDialog)允许用户设置打印机的参数及打

印文档。

1、创建Graphics对象有几种方法?(1)在窗体或控件的Paint事件中直接引用Graphics对

象。(2)从当前窗体获取对Graphics对象的引用。(3)由图像对象创建Graphics对象。

2、GDI+的坐标系有哪些?它们是如何转换的?在GDI+中, 使用三个坐标空间。全局坐标、

页面坐标、设备坐标。程序绘图代码在执行时,首先要进行坐标转换,将代码使用的全局坐

标映射到虚拟绘图平面上,转化为页面坐标,然后,页面坐标值转换为输出设备的设备坐标

值,在屏幕或打印机上输出。

1、什么是流?列举几种常见的流,并说明他们的共同抽象基类是什么。.NET中,对文件的

输入/输出操作是由流来处理的。“流”是字节序列的抽象概念,数据从外部源传输到程序中,

称为读取流;数据从程序传输到外部源,称为写入流。FileStream类表示文件流,

MemoryStream类表示内存类,NetWorkStream类表示网络流,BufferedStream类表示缓冲

处理流。它们的共同抽象基类是Stream类。

2、简述File和FileInfo类、Directory和DirectoryInfo类的异同。 File类是一个抽象类,所

以的方法都是静态的。提供用于创建、复制、删除、移动和打开文件的静态方法。并协助创

建FileStream对象,该类为一密封类。FileInfo类不是静态类,通过指定的文件名来创建一

个FileInfo对象,并通过对象成员来读取文件信息。提供用于创建、复制、删除、移动和打

开文件的实例方法。并协助创建FileStream对象,该类为一密封类。Directory类是个抽象类,

封装了对目录的操作,不能直接建立实例,方法都是静态的。提供通过目录和子目录进行创

建、移动和枚举的静态方法,该类为一密封类。DirectoryInfo类不是静态类,使用时需要指

定目录的路径名来创建一个DirectoryInfo对象。提供通过目录和子目录进行创建、移动和枚

举的实例方法,该类为一密封类。