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

  • 0
  • 0
  • 约5.13千字
  • 约 7页
  • 2026-10-13 发布于河北
  • 举报

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

.NET基础面试题及详细答案(实战版)

一、C#基础语法与数据类型

1.简述C#中值类型和引用类型的区别,并举出常用类型示例

参考答案:

值类型和引用类型最核心的区别是内存存储方式和赋值机制不同。

值类型数据直接存储在栈内存中,变量本身就是数据值。当变量赋值、参数传递时,会直接拷贝一份全新的数据副本,两个变量相互独立,修改其中一个不会影响另一个。

常用值类型:int、double、bool、char、decimal、struct、枚举。

引用类型数据的实体存储在堆内存中,栈内存只存储对象的内存地址(引用地址)。变量赋值、参数传递时,只会拷贝内存地址,不会创建新对象,多个变量会指向同一个堆内存对象,修改任意一个变量的值,所有指向该对象的变量都会同步变化。

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

2.string和StringBuilder的区别?日常开发如何选择?

参考答案:

string是不可变字符串,一旦初始化,内存中的字符串内容就无法修改。每次对string进行拼接、替换、截取等操作,都会在堆内存中生成一个全新的字符串对象,旧对象会等待垃圾回收。频繁操作字符串会产生大量内存碎片,性能较差。

StringBuilder是可变字符串,底层通过字符数组存储数据,支持直接对内存中的字符进行修改、拼接、删除,不

文档评论(0)

1亿VIP精品文档

相关文档