NET 经典面试题及详细答案(实战版).docxVIP

  • 2
  • 0
  • 约5.91千字
  • 约 9页
  • 2026-10-13 发布于河北
  • 举报

NET 经典面试题及详细答案(实战版).docx

.NET经典面试题及详细答案(实战版)

一、C#基础语法核心面试题

1、值类型和引用类型的区别?日常开发常见类型有哪些?

详细答案:

两者核心区别是内存存储位置、赋值方式、生命周期不同,是C#最基础也最高频的考点:

1)值类型

数据直接存储在栈内存中,变量赋值是完整拷贝值,两个变量相互独立,修改一个不会影响另一个。栈内存由系统自动分配、自动释放,回收速度快。

常见值类型:int、double、bool、char、decimal、struct(结构体)、枚举enum。

2)引用类型

数据存储在堆内存中,变量本身只存储堆内存的地址(引用指针)。变量赋值是拷贝地址,多个变量指向同一个堆内存对象,修改任意一个变量,所有关联变量都会同步变化。堆内存需要GC垃圾回收机制回收。

常见引用类型:string、class、数组、集合(List、Dictionary)、自定义类、委托、事件。

实战补充:string是特殊的引用类型,具备不可变性,每次修改字符串都会生成新对象,不会修改原对象。

2、const和readonly的区别?各自使用场景?

详细答案:

1)生效时机不同

const:编译时常量,程序编译时就确定值,必须在声明时直接赋值,不能延迟赋值。

readonly:运行时常量,编译时不固定值,可在声明时赋值,也可以在构造函数中赋值(实例readonly在实例构造函数,静态read

文档评论(0)

1亿VIP精品文档

相关文档