I have the following code:
var accidents = text.Skip(NumberOfAccidentsLine + 1).Take(numberOfAccidentsInFile).ToArray();
where accidents i
May be this LINQ query will help you to find The formated name with Index:
var accidents=(from acc in accidents
select new {
id=accidents.IndexOf(acc),
Name = acc.Replace("\"", string.Empty)
}).ToArray()
or you can also use .ToList()
for the case if you want result to be in IEnumerable format.
Use Enumerable.Range to generate the ID values and then use the current value to index into your String Array:
Enumerable.Range(0, accidents.Length).Select(f => new Accident() { Id = f, Name = accidents[f] })
I'm not sure what kind of index you're looking for, but if it's just set of consecutive numbers then you're lucky. There is Select
overload that does exactly that:
return accidents.Select((t, i) => new Accident() {Id = i, Name = t.Replace("\"", string.Empty)}).ToArray();
It expects a delegate that takes two parameters - the item and its index.