1 / 63
文档名称:

c# 编程基础练习题与答案2.doc

格式:doc   大小:325KB   页数:63页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c# 编程基础练习题与答案2.doc

上传人:992006838 2020/10/1 文件大小:325 KB

下载得到文件列表

c# 编程基础练习题与答案2.doc

相关文档

文档介绍

文档介绍:?答:个人认为一各程序语言要成为真正的面向对象的程序设计语言,它必须符合下列条件:1抽象(abstraction)—抽象能够有效地管理一个问题的复杂性,(Encapsulation)—(polymorphism)—,不同的对象都会拥有一个Save方法,(inheritance)—VisualC##2005则提供了真正的方法继承,。这种控件就是用户控件。?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?什么是多态?CTS、CLS和CLR分别作何解释?应用程序域:应用程序域(通常是AppDomain)是用于隔离应用程序的虚拟进程。在同一个应用程序作用域中创建的所有对象(换句话说,从该应用程序的入口点开始沿着对象激活序列的任何地方)都在同一个应用程序域中创建。多个应用程序域可以存在于一个操作系统进程中,使它们成为隔离应用程序的简便方式。操作系统进程通过使用各不相同的内存地址空间来提供隔离。尽管它是有效的,但也是代价昂贵的,并且不能达到大型Web服务器所需要的数量。与其相比,公共语言运行时通过管理在应用程序域中运行的代码的内存使用来强制进行应用程序隔离。这样就确保它不会访问应用程序域以外的内存。需要注意的是,只有类型安全的代码才能以这种方式管理(当在应用程序域中加载不安全代码时,运行时不能保证隔离)。理解应用程序域:运行库的逻辑进程表示,操作系统进程可以包含多个应用程序域。应用程序域具有下列优点:1、隐藏了进程具体的操作系统信息。放在不同的操作系统下。2、提供了隔离。即使运行在同一个进程中的属于不同域的应用程序也不能直接共享全局数据、静态数据或其他资源。所以,一个应用程序域失败了,也不会影响到同一个进程中的其他应用程序域。3、对于不需要昂贵的IPC机制的进程,运行库优化运行在这种进程中的应用程序间的通信。因为应用程序域是被隔离的,对象都会被界定在创建它的应用程序域内。如果跨应用程序域的边界传递对象引用,该被引用对象就被称为远程对象。装箱和拆箱在C#中的有两种类型的变量:值类型和引用类型。当值类型和引用类型相互转化时,会发生装箱和拆箱的过程。这里有一点要声明:经过拆箱或装箱的对象会多出它自己一份拷贝。它和它的拷贝不在一个存储区域。这也是值类型和引用类型的区别所在。值类型总是在栈中,而引用类型总是在托管堆中。(,但是我目前不知道是否和C#一样)。为了进一步理解看下面例子:structPoint{publicintx;publicinty;}staticvoidMain(){Pointp;=10;=20;Objecto=p;//。/************************************************************************/*从托管堆中将对象拷贝到栈中。/************************************************************************/Pointp2=(Point)p;(“:="++“:=“+);=16;=34;(“:="++“:=“+);(“:="++“:=“+);}输出结果为::=10;=20;:=10;=20;:=16;=34;可知,变量经过拆箱/装箱后,得到是自己的另一份拷贝。装箱和取消装箱的概念是C#的类型系统的核心。它在“值类型”和“引用类型”之间的架起了一座桥梁,使得任何“值类型”的值都可以转换为object类型的值,反过来转换也可以。装箱和取消装箱使我们能够统一地来考察类型系统,:(1)一个派生类对象可以被声明成一个基类,或者是一个基类指针可以指向一个派生类对象://c++codeBaseClass*p;DerivedClassobj;p=&obj;//C#codeBaseClassobj=newDerivedClass();(2)把一个对象看做是一个独立的个体