如何将ForEach转换为For循环

时间:2018-06-11 21:24:38

标签: c# asp.net-mvc for-loop razor foreach

我正在努力在评级后显示一定数量的评论,我写的代码有效,但我意识到它最终显示每个评论的命令,所以如果有两个评论我看到" 1评论1 。回顾"我已经研究了一段时间了,对MVC,C#等仍然有点新,并且似乎无法弄清楚如何将其更改为将计算ReviewCount并将其显示为单个的for循环一行或多行"评论"表示。我尝试将其传播出来,但随后无法调用本地变量,而且我被卡住了!

@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 :(得分:2)

如果您只想计算评论,只需使用LINQ Count()方法:

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

另外,请DRY