- 1
- 0
- 约5.16千字
- 约 8页
- 2026-08-24 发布于河北
- 举报
.NET高频面试题及详细真实答案(实战版)
一、C#基础语法与核心特性
1、值类型和引用类型的区别?日常开发常见类型有哪些?
参考答案:
两者核心区别是内存存储位置、赋值方式、生命周期完全不同。
值类型:数据直接存储在栈内存,赋值是完整拷贝,两个变量互不影响,出作用域立刻释放内存。
常见:int、double、bool、struct、enum、decimal。
引用类型:栈中只存内存地址,真实数据存在堆内存,赋值是地址拷贝,多个变量指向同一个堆对象,改一个全会变,由GC回收内存。
常见:string、class、数组、集合(List、Dictionary)、自定义类。
面试加分点:string是特殊引用类型,具备不可变性,每次赋值本质是新建对象。
2、string、StringBuilder、StringBuffer的区别?项目中怎么选用?
参考答案:
1、string:不可变字符串,每次拼接、修改都会生成新对象,频繁操作会产生大量垃圾内存,性能差。适合少量固定字符串场景。
2、StringBuilder:.NET专属,可变字符串,预分配缓冲区,拼接不新建对象,性能极高。适合循环拼接、大量字符串组装(日志、报文、导出文本)。
3、StringBuffer:Java专属,.NET没有,面试常被对比,不用混淆。
实战总结:单次赋值用string,循环/批量拼接必用S
原创力文档

文档评论(0)