如何将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