.NET 岗位面试题(含详细答案).docxVIP

  • 0
  • 0
  • 约4.46千字
  • 约 8页
  • 2026-11-16 发布于河北
  • 举报

.NET岗位面试题(含详细答案)

适用:后端开发、Winform/WPF、ASP.NETCore岗位

一、基础概念题

1.请简述值类型和引用类型的区别,并举例

答案:

值类型存放在栈上,变量保存的就是数据本身;赋值的时候直接复制一份数据,两个变量互不影响。引用类型存放在堆上,栈里只保存指向堆内存的地址,赋值只是复制地址,多个引用可以指向同一块堆对象。

值类型示例:int、double、bool、struct、枚举;

引用类型示例:string、class、数组、委托、接口。

注意:string是引用类型,但它具备不可变性,每次修改都会生成新字符串对象,看起来有点像值类型。

2.说说string和StringBuilder的区别

答案:

string不可变,一旦创建就不能修改;拼接字符串时,每次都会新建对象,频繁拼接会产生大量垃圾,压力大。

StringBuilder使用内部缓冲区维护字符,追加、替换操作尽量复用同一块内存,适合循环、大量字符串拼接场景。

简单区分:少量固定拼接直接用string;循环、批量拼接优先选StringBuilder。

3.什么是装箱和拆箱

答案:

装箱:把值类型包装成引用类型,把栈里的值复制到堆,返回对象引用。

inta=10;

objectobj=a;//装箱

拆箱:从引用对象里取出原本的值类型,要求对象

文档评论(0)

1亿VIP精品文档

相关文档