在列表中搜索索引

本文关键字:索引 搜索 列表 | 更新日期: 2023-09-27 18:01:48

我有一个列表,其中存储具有Name, ID, Attendance属性的对象。我想根据名称搜索得到列表中所有对象的索引值。这是简单的部分。除了按名称搜索之外,我还想进一步缩小索引结果的范围,使其ID属性不在要忽略的ID的排除列表中。例:

Exclusion List:
123
456
981
Main List of Objects
Object 1 with Name Property = Hi, ID = 123, Attendance = Present
Object 2 with Name Property = Ho, ID = 323, Attendance = Present
Object 3 with Name Property = He, ID = 456, Attendance = Present

以上只是数据结构的表示。排除列表是整数列表,ID属性等也是。在Main List上搜索的结果应该返回找到的对象在列表中位置的INDEX整数。在这种情况下,Return应该是一个值为1的整数。

谢谢

在列表中搜索索引

听起来你想要这样做:

var query = list.Select((value, index) => new { value, index })
                .Where(pair => !exclusions.Contains(pair.value.ID))
                .Select(pair => pair.index)

将给所有匹配的索引值;如果你只想要一个,你可以用First, FirstOrDefault等。注意,要按名称匹配,只需要扩展Where调用。

如果这不是你想要的,请澄清你的问题。