- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
期末考试C#简答题
引用类型的变量和数值类型的变量有什么不同之处?
答:数值类型的变量和引用类型的变量,两者最根本区别在于:数值类型的变量本身包含他们的数据,而引用类型的变量包含的是,指向包含数据的内存的引用或者叫句柄。对于数值类型,每个变量有一份自己的数据复制,因而也就不能通过操作其中的一个来影响到另一个。而对于引用类型,两个变量有可能引用同一个对象,因而也就可能通过操作其中的一个变量来影响也被另一个变量引用的对象public : 公共成员,完全公开,没有访问限制。private : 私有成员, 在类的内部才可以访问。protected : 保护成员,该类内部和继承类中可以访问。构造函数是在实例化对象时自动调用的函数,它们必须与所属的类同名,且不能有返回类型,每个类都有自己的构造函数。通常使用构造函数来初始化字段的值。析构函数类似于构造函数,但是在CLR检测到不再需要某个对象时调用。在声明析构函数时,它的名称必须与类名相同,但前面有一个~符号。
声明的语法格式为:~类名(){撤销实例的语句}
和构造函数一样,析构函数被自动调用时不能被显式地调用。使用析构函数的条件是:没有任何代码要使用一个实例。析构函数以调用构造函数相反的顺序被调用,因此也有人叫它“逆构造函数”。在命名空间中,可以声明类、接口、结构、枚举、委托 命名空间。
如果未显式声明命名空间,则会创建默认命名空间。该默认的命名空间(有时称为全局命名空间)。全局命名空间中的任何标识符都可用于命名的命名空间中。
命名空间声明可以作为顶级声明出现在编译单元中,当命名空间声明作为顶级声明出现在编译单元中时,该命名空间成为全局命名空间的一个成员。
命名空间声明出现在另一个命名空间声明内时,该内部命名空间就成为包含着它的外部命名空间的一个成员。
无论是何种情况,一个命名空间的名称在它所属的命名空间内必须是唯一的。命名空间隐式地为 public,而且在命名空间的声明中不能包含任何访问修饰符。
答:continue语句只能出现在循环结构中,不执行循环体中的后续语句,返回循环的开头进行新的循环处理,只能结束本次循环。continue语句仅仅影响该语句本身所处的循环层,对外层循环没有影响。 break语句只能出现在循环结构和switch多分支结构中,退出循环结构和多分支结构。当break语句处于嵌套结构中时,将只能跳出break语句所在层结构,对外层结构没有影响。goto语句可以出现在任意结构之中,可直接退出循环结构和多分支结构。NET Framework提供了大量处理异常的预定义基类对象。将可能引发异常的代码段放在try块中,而将处理异常的代码放在catch块中。catch块是一系列以关键字catch开头的语句,语句后跟异常类型和要执行的操作。finally块包含代码清理资源或执行要在try块或catch块末尾执行的其他操作。无论是否产生异常,都会执行finally块,因为finally块包含了应总是执行的清理代码,如果在finally块中放置了return语句,编译器就会标志一个错误。例如,可以在finally块中关闭在try块中打开的连接。finally块是可选的。如果不需要清理代码,就不需要包含此块。
抛出和捕获异常是由try/catch块来完成的,它是C#异常处理的主要机制。try/catch块的基本语法如下所示:
try
{
//有可能产生异常的代码
}
catch(Exception e)
{
//对异常进行处理的代码
}
finally
{
//最终将执行的代码
}事件简介: 任何进行过图形用户界面开发的编程人员都会知道事件的概念。当用户在使用程序的时候,用户必然要和程序进行一定的交互。比如当用户点击窗体上的一个按钮后,程序就会产生该按钮被点击的事件,并通过相应的事件处理函数来响应用户的操作。这样用户的直观感觉就是程序执行了我要求的任务了。当然,事件并不一定是在和用户交互的情况下才会产生的,系统的内部也会产生一些事件并请求处理的,比如时钟事件就是一个很好例子。不过要介绍C#中的事件处理机制(扩展到更广的范围便是整个.Net框架),我们首先得明白一个叫委托的概念。 C#中的委托: 委托,顾名思义,就是中间代理人的意思。C#中的委托允许你将一个对象中的方法传递给另一个能调用该方法的类的某个对象。你可以将类A中的一个方法m(被包含在某个委托中了)传递给一个类B,这样类B就能调用类A中的方法m了。同时,你还可以以静态(static)的方式或是实例(instance)的方式来传递该方法。所以这个概念和C++中的以函数指针为参数形式调用其他类中的方法的概念是十分类似的。 委托的概念首先是在Visual J++中被
文档评论(0)