C# _ WPF 面试高频题及详细答案(完整版).docxVIP

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

C# _ WPF 面试高频题及详细答案(完整版).docx

C#/WPF面试高频题及详细答案(完整版)

适用岗位:.NET桌面开发、WPF开发工程师

题型:基础问答、原理剖析、区别对比、实操问题、性能优化

一、C#基础面试题(桌面开发高频)

1、简述C#中值类型和引用类型的区别?

标准答案:

1、存储位置不同:值类型数据存储在栈中,分配速度快;引用类型的对象实例存放在堆中,栈中只存放对象的地址引用。

2、赋值方式不同:值类型赋值是值拷贝,两个变量互不影响;引用类型赋值是地址拷贝,多个变量指向同一个堆对象,一个修改会影响其他。

3、生命周期不同:值类型随方法执行结束立即释放;引用类型由垃圾回收机制统一回收。

4、常见类型:

值类型:int、double、bool、struct、枚举

引用类型:string、class、数组、集合、自定义类

2、string和StringBuilder的区别?为什么字符串拼接多用StringBuilder?

标准答案:

string是不可变字符串,一旦创建就无法修改。每次拼接、修改字符串,都会生成一个新的字符串对象,频繁操作会产生大量内存垃圾,性能很差。

StringBuilder是可变字符串,内部维护字符缓冲区,修改、拼接时不会频繁创建新对象,内存开销小、速度快。

使用场景:少量字符串拼接直接用string;循环、大量拼接必须用StringBuilder。

3、ref和o

文档评论(0)

1亿VIP精品文档

相关文档