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

在 C# 中,List<T> 的 IndexOf 方法的功能是什么?请说明其作用、常见使用场景及返回值含义。

技术原理C#

考察说明

考察对 C# 集合类型中常用方法的理解与应用能力。

回答思路

  1. 【回答框架 1】IndexOf 方法是 List<T> 类提供的一个实例方法,用于在列表中搜索指定对象,并返回该对象在列表中首次出现的索引(从 0 开始)。如果未找到,则返回 -1。
  2. 【回答框架 2】该方法通过调用 EqualityComparer<T>.Default 来比较元素,默认使用类型的 Equals 方法进行相等性判断。对于引用类型,比较的是引用是否相等;对于值类型,比较的是值是否相等。
  3. 【回答框架 3】常见使用场景包括:判断元素是否存在于列表中(通过返回值是否为 -1),获取元素的位置以便进行后续操作(如删除、插入等)。
  4. 【回答框架 4】需要注意,IndexOf 方法是从列表开头向后搜索,返回的是第一个匹配项的索引;若需要最后一个匹配项,可使用 LastIndexOf 方法。此外,该方法的时间复杂度为 O(n)。
  5. 【关键点 1】返回首次出现的索引;未找到返回 -1。
  6. 【关键点 2】使用默认相等比较器,引用类型比较引用,值类型比较值。
  7. 【关键点 3】常用于判断存在性或获取位置以配合其他操作。
  8. 【易错点 1】对于引用类型,若未重写 Equals,则比较的是引用,可能无法得到预期结果。
  9. 【易错点 2】注意与 FindIndex 方法的区别:FindIndex 接受谓词,而 IndexOf 直接比较对象。