C# 编程基础练习题与答案2资料.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.面向对象的思想主要包括什么? 答:个人认为一各程序语言要成为真正的面向对象的程序设计语言,它必须符合下列条件: 1抽象(abstraction)—抽象能够有效地管理一个问题的复杂性,其作法是划分出与该问题相关的一组对象. 2 封装(Encapsulation)—封装是指将一个抽象的内部实现隐藏在特定的对象之内. 3 多态(polymorphism)—多态会提供相同方法的多种操作方法的多种操作实作.例如,不同的对象都会拥有一个Save方法,但是每一个Save方法会执行不同的操作. 4 继承(inheritance)—Visual C# 2005 最令人兴奋之处就是其继承特性.v c#2005则提供了真正的方法继承,因此您可以重复使用一个类的实例. 2.什么是ASP.net中的用户控件 自己动手作自己的控件来取代.NET提供的控件。这种控件就是用户控件。后缀为.ascx 3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?什么是多态? CTS、CLS和CLR分别作何解释? 应用程序域:应用程序域(通常是 AppDomain)是用于隔离应用程序的虚拟进程。在同一个应用程序作用域中创建的所有对象(换句话说,从该应用程序的入口点开始沿着对象激活序列的任何地方)都在同一个应用程序域中创建。多个应用程序域可以存在于一个操作系统进程中,使它们成为隔离应用程序的简便方式。 操作系统进程通过使用各不相同的内存地址空间来提供隔离。尽管它是有效的,但也是代价昂贵的,并且不能达到大型 Web 服务器所需要的数量。与其相比,公共语言运行时通过管理在应用程序域中运行的代码的内存使用来强制进行应用程序隔离。这样就确保它不会访问应用程序域以外的内存。需要注意的是,只有类型安全的代码才能以这种方式管理(当在应用程序域中加载不安全代码时,运行时不能保证隔离)。 理解应用程序域: 应用程序域是.NET 运行库的逻辑进程表示,操作系统进程可以包含多个应用程序域。应用程序域具有下列优点: 1、隐藏了进程具体的操作系统信息。从而允许把.NET 放在不同的操作系统下。 2、提供了隔离。即使运行在同一个进程中的属于不同域的应用程序也不能直接共享全局数据、静态数据或其他资源。所以,一个应用程序域失败了,也不会影响到同一个进程中的其他应用程序域。 3、对于不需要昂贵的 IPC 机制的进程,应用程序域允许 .NET 运行库优化运行在这种进程中的应用程序间的通信。 因为应用程序域是被隔离的,所有.NET 对象都会被界定在创建它的应用程序域内。如果跨应用程序域的边界传递对象引用,该被引用对象就被称为远程对象。 装箱和拆箱 在C#中的有两种类型的变量:值类型和引用类型。当值类型和引用类型相互转化时,会发生装箱和拆箱的过程。这里有一点要声明:经过拆箱或装箱的对象会多出它自己一份拷贝。它和它的拷贝不在一个存储区域。这也是值类型和引用类型的区别所在。值类型总是在栈中,而引用类型总是在托管堆中。(目前J2SE5.0也支持了装箱和拆箱,但是我目前不知道是否和C#一样)。为了进一步理解看下面例子: struct Point{ public int x; public int y; } static void Main(){ Point p; p.x=10; p.y=20; Object o=p;//box. 将值类型从栈中拷贝到堆中。 /************************************************************************/ * 从托管堆中将对象拷贝到栈中。 /************************************************************************/ Point p2=(Point)p; Console.WriteLine(“p2.x:=+p2.x+ “ p2.y:=“+p2.x); p.x=16; p.y=34; Console.WriteLine(“p2.x:=+p2.x+ “ p2.y:=“+p2.x); Console.WriteLine(“p.x:=+p.x+ “ p.y:=“+p.x); } 输出结果为: p2.x:=10;p2.y=20; p2.x:=10;p2.y=20; p.x:=16;p.y=34; 可知,变量经过拆箱/装箱后,得到是自己的另一份拷贝。 装箱和取消装箱的概念是 C# 的类型系统的核心。它在“值类型”和“引用类型”之间的架起了一座桥梁,使得任何“

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档