






















1. 值类型和引用类型的区别 • 值类型:int、bool、double、struct、enum,存储在栈上,赋值时拷贝副本,修改互不影响。 • 引用类型:string、class、数组、委托,存储在堆上,变量存的是地址引用,赋值时拷贝地址,多个引用指向同一对象,一改全改。 • 值类型不能为空(可空类型除外),引用类型默认为 null。 2. ref、out、params 的区别 • ref:按引用传递,调用前必须赋值,方法内可改可不改。 • out:按引用传递,调用前不必赋值,但方法内必须赋值,用于输出多个结果。 • params:用于方法最后一个参数,表示可变长度参数数组,调用时可传多个同类型参数。 3. 重载(overload)和重写(override)的区别 • 重载:同一个类中,方法名相同、参数列表不同(个数 / 类型 / 顺序),与返回值无关。 • 重写:子类重写父类virtual/abstract方法,方法签名完全一致,实现多态。 • 重载是编译时多态,重写是运行时多态。 4. abstract 类和 interface 的区别 • 抽象类可以有字段、构造函数、普通方法、抽象方法;接口只能有方法、属性、索引器、事件(C# 8.0 后可加默认实现)。 • 类只能继承一个抽象类,但可以实现多个接口。 • 抽象类成员可任意访问修饰符;接口成员默认 public,不能修改。 • 抽象类表示 “is a”,接口表示 “can do”。 5. string 和 StringBuilder 的区别 • string 是不可变字符串,每次修改都会生成新对象,频繁拼接效率低。 • StringBuilder 是可变字符序列,直接在原内存修改,大量拼接时性能极高。 • 少量拼接用 string,大量循环拼接用 StringBuilder。 6. 装箱和拆箱是什么 • 装箱:将值类型转换为 object 引用类型,分配堆内存。 • 拆箱:将 object 转换回值类型,需要强制类型转换。 • 频繁装箱拆箱降低性能,泛型可避免。 7. 构造函数和析构函数的作用 • 构造函数:类实例化时自动调用,用于初始化对象、分配资源。 • 析构函数(~ 类名):对象销毁时由 GC 调用,用于释放非托管资源(文件、句柄等)。 • 析构函数不能手动调用,也不能带参数、修饰符。 8. List 和 ArrayList 的区别 • ArrayList 存放 object,存取需要装箱拆箱,类型不安全。 • List<T> 是泛型集合,指定类型,类型安全,无装箱拆箱,性能更高。 • 现在基本只用 List,不用 ArrayList。 9. 多态的实现原理 多态指同一方法调用,不同对象表现不同行为。 实现依赖三点: 1. 子类继承父类 2. 父类方法标记 virtual,子类 override 重写 3. 父类引用指向子类对象 运行时 CLR 根据对象实际类型调用对应重写方法。 10. try-catch-finally 执行流程 1. 先执行 try 代码块。 2. 发生异常则跳到匹配的 catch 执行。 3. 无论是否异常、是否 return,finally 一定执行。 4. 无异常则跳过 catch,直接执行 finally。 11. 访问修饰符区别 • public:任何地方可访问 • private:仅当前类内部可访问 • protected:当前类 + 子类可访问 • internal:同一程序集内可访问 • protected internal:同一程序集 或 子类可访问 12. 静态成员和实例成员的区别 • 静态成员(static):属于类,只有一份,用类名访问,不依赖对象。 • 实例成员:属于对象,每个对象一份,用 ** 对象.** 访问。 • 静态方法不能直接访问实例成员;实例方法可以访问静态成员。 13. LINQ 是什么?有什么用? • LINQ(Language Integrated Query)是语言集成查询。 • 统一查询语法,可查询数组、集合、DataSet、数据库等。 • 优点:语法简洁、类型安全、可读性强,支持查询、筛选、排序、分组、聚合。 14. 什么是泛型?为什么要用泛型? • 泛型是延迟指定类型,用 <T> 表示,使用时再确定具体类型。 • 优点: 1. 类型安全,避免类型转换错误 2. 避免装箱拆箱,提升性能 3. 代码复用,一份代码适配多种类型 15. 简述 C# 垃圾回收(GC)机制 • GC 自动管理堆内存,回收不再使用的对象,释放内存。 • 工作流程: 1. 标记所有可达对象 2. 清除不可达对象 3. 压缩内存,减少碎片 • GC 分代回收(0/1/2 代),频繁回收新生代,提高效率。 • GC 自动执行,无法精确控制时机;非托管资源需手动释放。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。