Это должно работать:
@{int i = 0;}
@foreach (Topic tp in Model.Topics){
<div>@(i++).ToString() @tp.Description</div>
}
То, что вы делаете, пытается использовать foreach
как цикл for. (Возможно, как итератор C ++?) Тем не менее, foreach - это синтаксический сахар, который делает всю вашу работу.
В C # foreach зацикливается на типизированных коллекциях. Так что если у вас есть:
int[] numbers = new int[] {1,2,3,4};
Person[] persons = //collection of persons
Петли будут:
foreach(int n in numbers) { /*n would be each of the numbers*/ }
foreach(Person p in persons)
{/* p here would refer to each person per iteration*/ }
Работает для всего IEnumerable (например, IList, Arrays, Collections и т. Д.)