ib3*_*3an 4 c# linq linq-to-objects
我如何使用linq获取索引?我想通过FieldNo找到并回到索引.如果我搜索2则应该返回索引1.

问候,
使用LINQ:
int index = fields.Select((f, i) => new { Field = f, Index = i})
.Where(x => x.Field.FieldNo == 2)
.Select(x => x.Index)
.DefaultIfEmpty(-1)
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
没有LINQ使用List.FindIndex,更具可读性,更高效,甚至可以在.NET 2上运行:
int index = fields.FindIndex(f => f.FieldNo == 2);
Run Code Online (Sandbox Code Playgroud)