Цикл
A foreach
не имеет счетчика циклов. Вы можете сохранить свой счетчик:
int number = 1;
foreach (var element in collection) {
// Do something with element and number,
number++;
}
или, возможно, проще, использовать LINQ Enumerable.Select
, который дает вам текущий индекс:
var numberedElements = collection.Select((element, index) => new { element, index });
, где numberedElements
является коллекцией экземпляров анонимного типа со свойствами element
и index
. В случае с файлом вы можете сделать это:
var numberedLines = File.ReadLines(filename)
.Select((Line,Number) => new { Line, Number });
с тем преимуществом, что все это обрабатывается лениво, поэтому он будет считывать только те части файла, которые вы фактически используете.