.NET面试题系列(十八)常用关键字

序言

constreadonly关键字

private protected public internal的区别

out  ref

out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

普通参数是“值类型传递拷贝,引用类型传递引用”,但是都不能在函数内部修改外部变量的指向,这时候要用ref或者out(相当于把变量都传进去了),他们的作用不同:ref的作用“方法内部修改外部变量的引用”;out的作用“方法内部给外部变量初始化,相当于一个函数多个返回值”。

1、使用ref型参数时,传入的参数必须先被初始化,方法中可以不赋值。对out而言,必须在方法中对其完成初始化,方法外部不用初始化,初始化也没用。

2、使用ref和out时,在方法的参数和执行方法时,都要加ref或out关键字。以满足匹配。

3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

值类型和引用类型

 

classstruct的区别

class 是引用类型存在堆上,structs是值类型存在栈上。

Dispose()、Close()、Finalize()的区别详解

其实不管是Dispose,Close,Finalize方法﹐最终应该都是执行相同的代码
区别﹕
Finalize方法﹕只能由微软调用
Dispose和Close方法﹕提供给您调用
因此在您使用完那些类别后﹐那就直接调用Close吧(没有Close﹐再调用Dispose方法)﹐当然万一您忘了﹐也别担心﹐还有垃圾收集器帮您垫后。

总结:Dispose 和 Close基本上是一样的。 Close 是为那些不熟悉Dispose的开发者设计的,Close让人更容易理解是做什么的。

原文地址:https://www.cnblogs.com/cnki/p/10754473.html