我需要使用 Linq 方法在不使用循环的情况下使用 TValue 列表查找特定项目的索引。我试图通过将单个 TValue 与 Tvalue 的 IEnumerable 集合进行比较来查找索引,如下面的代码
int idx= list.Select((elem, index) => new { elem, index }).First(p => p.elem == item).index;
有了这个,我收到以下错误
CS0019 运算符“==”不能应用于“TValue”和“TValue”类型的操作数
我也用这个代码尝试了 Equals,但这也没有返回确切的索引值。
int idx= list.Select((elem, index) => new { elem, index }).First(p => p.elem.Equals(item)).index;
在这里,列表是包含 5 个项目的 TValue 的集合,而项目是具有单个项目的 TValue,其索引将在列表中找到。在下图中找到结构
请建议一种通过比较两个 TValue 来查找索引的方法
问候,
克尔塔娜。