C#面试题更新 2026-08-05

请说明 C# 中访问修饰符的完整列表,以及每一个的作用范围。

技术原理C#

考察说明

考查对 C# 访问控制机制的理解,是否能清晰说出各修饰符的可见性边界。

回答思路

  1. 【回答框架 1】C# 访问修饰符用于控制类型和成员的可见性。主要包含六个:public、private、protected、internal、protected internal、private protected。此外,C# 7.2 新增了 file 修饰符,但常见面试重点在前六个。
  2. 【回答框架 2】public 访问不受限制,任何代码都可以访问。private 只能在声明它的类或结构体内访问。protected 允许在声明类及其派生类中访问。internal 限制在同一程序集内访问。
  3. 【回答框架 3】protected internal 是 protected 与 internal 的并集,即同一程序集内可访问,或派生类可访问。private protected 是交集,即仅在同一程序集内的派生类可访问。
  4. 【回答框架 4】类的默认访问级别是 internal,类成员的默认级别是 private。命名空间中的类型默认为 internal。
  5. 【关键点 1】C# 共有六个核心访问修饰符:public、private、protected、internal、protected internal、private protected。
  6. 【关键点 2】public 与 private 是两端,分别为最公开和最私有。
  7. 【关键点 3】protected 与派生类相关,internal 与程序集相关,组合可细化访问范围。
  8. 【关键点 4】类默认 internal,成员默认 private。
  9. 【易错点 1】不要把 protected internal 误解为 '既是 protected 又是 internal' 的交集,它实际是并集。
  10. 【易错点 2】不要把 private protected 误解为 protected internal,两者范围不同。
  11. 【易错点 3】不要忽略默认访问级别,如类默认为 internal 而非 public。