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

请说明在 C# 中定义自定义索引器的方法,特别是如何支持多维索引(例如使用多个参数)。

技术原理C#

考察说明

考察对 C# 索引器语法及多维索引实现机制的理解。

回答思路

  1. 【回答框架 1】索引器是一种特殊成员,允许对象像数组一样通过索引访问。声明时使用 this 关键字,后跟参数列表,参数可以是多个,用于实现多维索引。
  2. 【回答框架 2】实现多维索引需要定义包含多个参数的索引器,例如 this[int i, int j],并使用这些参数在内部进行逻辑处理,返回对应元素。
  3. 【回答框架 3】索引器可以重载,即在一个类中定义多个索引器,但参数列表必须不同。
  4. 【回答框架 4】索引器的访问器 get 和 set 类似于属性的访问器,可以控制读写行为,并可添加访问修饰符。
  5. 【回答框架 5】索引器也可以用于接口,但接口中不能包含访问修饰符,且访问器是公开的。
  6. 【关键点 1】索引器使用 this 声明,多维索引通过多个参数实现。
  7. 【关键点 2】索引器可以重载,参数列表必须唯一。
  8. 【关键点 3】索引器的 get/set 访问器可控制读写行为。
  9. 【易错点 1】多维索引参数必须一一对应提供,否则编译错误。
  10. 【易错点 2】索引器过多可能导致可读性下降,应适度使用。