.NET面试题系列(18)常用关键字
序言
const和readonly关键字
readonly与const的相同点:
1、二者都用来声明常量
2、初始化后无法再直接修改值
readonly与const的区别:
1、readonly可以在构造时初始化(或者在其他地方使用反射的方式修改),而const必须在声明时初始化
2、readonly只能用于声明字段、而const还可以用于声明局部的常量
3、readonly是语法,const本质上是字面常量
4、readonly的初始化不必是『编译时常量』,const则必须是『字面常量』
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则用在需要被调用的方法修改调用者的引用的时候。
值类型和引用类型
class和struct的区别
class 是引用类型存在堆上,structs是值类型存在栈上。
Dispose()、Close()、Finalize()的区别详解
其实不管是Dispose,Close,Finalize方法﹐最终应该都是执行相同的代码
区别﹕
Finalize方法﹕只能由微软调用
Dispose和Close方法﹕提供给您调用
因此在您使用完那些类别后﹐那就直接调用Close吧(没有Close﹐再调用Dispose方法)﹐当然万一您忘了﹐也别担心﹐还有垃圾收集器帮您垫后。
总结:Dispose 和 Close基本上是一样的。 Close 是为那些不熟悉Dispose的开发者设计的,Close让人更容易理解是做什么的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2017-04-23 Windows系统环境下Solr之Java实战(一)搭建solr服务器并配置IK分词