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

请描述在 C# 中,事件订阅与取消订阅的操作方式,并说明其背后的机制。

编码实现技术原理C#

考察说明

考察对 C# 事件机制的理解及实际操作能力。

回答思路

  1. 【回答框架 1】事件基于委托,使用 event 关键字声明,本质是受限的委托字段。订阅使用 += 操作符,取消使用 -= 操作符。
  2. 【回答框架 2】事件只能在声明类内部触发,外部不能直接调用,保证了封装性。
  3. 【回答框架 3】多播委托允许一个事件绑定多个处理方法,按顺序执行。
  4. 【回答框架 4】推荐使用标准事件模式,使用 EventHandler 或自定义委托,并注意线程安全。
  5. 【关键点 1】使用 += 订阅,-= 取消订阅。
  6. 【关键点 2】事件只能由声明类内部触发。
  7. 【关键点 3】事件基于多播委托,支持多个处理方法。
  8. 【易错点 1】如果未取消订阅,可能导致内存泄漏。
  9. 【易错点 2】线程安全需要额外处理。