期末考试C#简答题 .pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

1.引用类型的变量和数值类型的变量有什么不同之处?

答:数值类型的变量和引用类型的变量,两者最根本区别在于:数值类型的变量本身包含

他们的数据,而引用类型的变量包含的是,指向包含数据的内存的引用或者叫句柄。对于数

值类型,每个变量有一份自己的数据复制,因而也就不能通过操作其中的一个来影响到另一

个。而对于引用类型,两个变量有可能引用同一个对象,因而也就可能通过操作其中的一个

变量来影响也被另一个变量引用的对象

2.简单说明public、private、和protected修饰符的访问权限。

答:public:公共成员,完全公开,没有访问限制。

private:私有成员,在类的内部才可以访问。

protected:保护成员,该类内部和继承类中可以访问。

3.简单介绍构造函数的析构函数。

答:构造函数是在实例化对象时自动调用的函数,它们必须与所属的类同名,且不能有返

回类型,每个类都有自己的构造函数。通常使用构造函数来初始化字段的值。

析构函数类似于构造函数,但是在CLR检测到不再需要某个对象时调用。在声明析构函数

时,它的名称必须与类名相同,但前面有一个~符号。

声明的语法格式为:~类名(){撤销实例的语句}

和构造函数一样,析构函数被自动调用时不能被显式地调用。使用析构函数的条件是:没有

任何代码要使用一个实例。析构函数以调用构造函数相反的顺序被调用,因此也有人叫它

“逆构造函数”。

4.简述命名空间的作用。

答:在命名空间中,可以声明类、接口、结构、枚举、委托命名空间。

如果未显式声明命名空间,则会创建默认命名空间。该默认的命名空间(有时称为

全局命名空间)。全局命名空间中的任何标识符都可用于命名的命名空间中。

命名空间声明可以作为顶级声明出现在编译单元中,当命名空间声明作为顶级声明

出现在编译单元中时,该命名空间成为全局命名空间的一个成员。

命名空间声明出现在另一个命名空间声明内时,该内部命名空间就成为包含着它的

外部命名空间的一个成员。

无论是何种情况,一个命名空间的名称在它所属的命名空间内必须是唯一的。命名

空间隐式地为public,而且在命名空间的声明中不能包含任何访问修饰符。

5.简述goto、break、continue语句功能和区别。

答:continue语句只能出现在循环结构中,不执行循环体中的后续语句,返回循环的开头进

行新的循环处理,只能结束本次循环。continue语句仅仅影响该语句本身所处的循环层,对

外层循环没有影响。

break语句只能出现在循环结构和switch多分支结构中,退出循环结构和多分支结构。当break

语句处于嵌套结构中时,将只能跳出break语句所在层结构,对外层结构没有影响。

goto语句可以出现在任意结构之中,可直接退出循环结构和多分支结构。

6.简述ref参数和out参数的区别。

答:(1)、ref在作为参数调用函数之间,变量一定要赋值,否则会得到一个常规编译错误:

使用了为赋值的变量。

(2)在被调用函数内,以ref引入的参数在返回前不必为它赋值。

(3)out在作为参数调用之前,变量可以不被赋值。

(4)在被调用函数内,以out引入的参数在返回前一定要少赋值一次。

7.描述如何抛出和捕获异常。

答:NETFramework提供了大量处理异常的预定义基类对象。将可能引发异常的代码段放

在try块中,而将处理异常的代码放在catch块中。catch块是一系列以关键字catch开头的

语句,语句后跟异常类型和要执行的操作。finally块包含代码清理资源或执行要在try块或

catch块末尾执行的其他操作。无论是否产生异常,都会执行finally块,因为finally块包含

了应总是执行的清理代码,如果在finally块中放置了return语句,编译器就会标志一个错

误。例如,可以在finally块中关闭在try块中打开的连接。finally块是可选的。如果不需要

清理代码,就不需要包含此块。

抛出和捕获异常是由try/catch块来完成的,它是C#异常处理的主要机制。try/catch块的

基本语法如下所示:

try

{

//有可能产生异常的代码

}

catch(Exceptione)

文档评论(0)

175****9697 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档