c# - IEnumerable.Select 索引

标签 c# linq ienumerable

我有以下代码:

 var accidents = text.Skip(NumberOfAccidentsLine + 1).Take(numberOfAccidentsInFile).ToArray();

其中 accidents 是一个字符串数组。

我想进行从字符串数组到事故对象数组的 Linq 转换,如下所示:

 return accidents.Select(t => new Accident() {Id = i, Name = t.Replace("\"", string.Empty)}).ToArray();

我如何使用 Linq 从事故数组中检索索引 i 还是我必须去老学校?

最佳答案

我不确定您要查找哪种索引,但如果它只是一组连续的数字,那么您很幸运。 Select 重载正是这样做的:

return accidents.Select((t, i) => new Accident() {Id = i, Name = t.Replace("\"", string.Empty)}).ToArray();

它需要一个带有两个参数的委托(delegate) - 项目及其索引。

关于c# - IEnumerable.Select 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27285061/

相关文章:

Linq RemoveFirst 等效项

c# - 从另一个 IEnumerable 填充任意具体的 IEnumerable

c# - 无法将带有 [] 的索引应用于类型为“System.Collections.Generic.IEnumerable<>”的表达式

c# - 是否有 C# 函数将 64 位 "Unsigned"值格式化为其等效的二进制值?

c# - 如何在构造函数中设置 selenium 驱动程序的路径?

c# - 使用 LINQ where(lamdaexp).First 和 First(lambdaexp)

C#:如何使用 LINQ 或 LAMBDA 表达式操作 List<String>

c# - 为此结构实现 GetHashCode 的正确方法

c# - 如何在 C# 中使用 lambda 表达式使用数组进行比较

c# - 我可以在 C# 中使用 LINQ 访问 WSUS 集合吗