如何将ForEach转换为For循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将ForEach转换为For循环相关的知识,希望对你有一定的参考价值。

我正在努力在评级后显示一定数量的评论,我写的代码是有效的,但我意识到它最终显示每个评论的命令,所以如果有两个评论我看到“1评论1评论”。我一直在研究这个问题并且对MVC,C#等有点新鲜,似乎无法弄清楚如何将其更改为将计算ReviewCount并将其显示为单行的for循环表示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")
        }
    }
答案

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

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

另外,是DRY

以上是关于如何将ForEach转换为For循环的主要内容,如果未能解决你的问题,请参考以下文章

如何将 JavaScript forEach 循环/函数转换为 CoffeeScript

在R中将嵌套的for循环转换为并行

如何将令人烦恼的“for”循环转换为“Object.keys”例程或类似程序(JSLint)

粗略总结for循环与foreach()循环区别

Php多维数组与混合for和Foreach循环

forEach 循环 Java 8 for Map 条目集