Запрос модели в цикле For - PullRequest
0 голосов
/ 28 июня 2019

Есть ли способ выполнить запрос в моей модели в цикле For, аналогично тому, как это делается в foreach? пример:

foreach (var item in Model.Where(x => x.product == product))

Ответы [ 3 ]

0 голосов
/ 28 июня 2019

Если вы ищете эквивалент foreach (var item in Model.Where(x => x.product == product)), вы идете:

var index = 0; // in case you need an index in your loop
for (var e = Model.Where(x => x.product == product).GetEnumerator(); e.MoveNext(); index++)
{
    var item = e.Current;

    // rest of your code here
}
0 голосов
/ 28 июня 2019

Если вы хотите получить индекс, используйте перегрузку Select с индексом

foreach(var (item, index) in Model.Where(x => x.product == product).Select((a, b) => (a, b)))
{
    // statements
}

Если вам необходимо использовать форму for

for(var (enumerator, index) = (Model.Where(x => x.product == product).GetEnumerator(), 0); enumerator.MoveNext(); index++)
{
    // statements
}
0 голосов
/ 28 июня 2019

Я думаю, это то, что вы ищете:

@{var items = Model.Where(x => x.product == product).ToList();}
@for (int i = 0; i < items.Count; i++)
{
... stuff with items[i] ...
}

ToList () предназначен для перечисления элементов, чтобы вы могли просматривать их с помощью индекса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...