Как я могу преобразовать ForEach в цикл For - PullRequest
0 голосов
/ 12 июня 2018

Я работаю над отображением количества отзывов после оценки, код, который я написал, работает, но я понял, что в конечном итоге он отображает команду для каждого отзыва, поэтому, если есть два отзыва, я вижу «1 Отзыв 1 Обзор».Я работал над этим некоторое время, и все еще немного новичок в MVC, C # и т. Д., И не могу понять, как изменить это на цикл for, который будет считать ReviewCount и отображать его как одну строку с1 или более "отзывов" указано.Я попытался распространить это, но тогда локальная переменная не может быть вызвана, и вот где я застрял!

@foreach (var review in item.Campaign.Reviews)
    {

        int ReviewCount = 0;
        ++ReviewCount;
        if (ReviewCount > 1)
        {
            @Html.Raw(ReviewCount)
            @Html.Raw(" Reviews")
        }
        else
        {
            @Html.Raw(ReviewCount)
            @Html.Raw(" Review")
        }
    }

1 Ответ

0 голосов
/ 12 июня 2018

Если вы просто хотите посчитать отзывы, просто используйте метод LINQ Count():

@{ int ReviewCount = item.Campaign.Reviews.Count(); }
@Html.Raw(ReviewCount)
@if (ReviewCount != 1) {
    @Html.Raw(" Reviews")
}
else {
    @Html.Raw(" Review")
}

Также, будьте DRY .

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