continue语句正在跳过进一步的迭代

时间:2015-06-29 09:31:01

标签: c#

如果internalCounter和counter为0且Model包含6个项目,那么为什么它不显示模型的其他属性,除了索引0处的属性

@foreach (var item in Model)
{
   if(internalCounter == counter)
   {          
      continue;
   }
   <tr><td>@item.teamName</td><td>@item.W</td><td>@item.L</td></tr>
   internalCounter = internalCounter+1;
}

2 个答案:

答案 0 :(得分:1)

如果我们能看到外环也会更好......但无论如何:

一旦你的internalCounter达到了counter的值,它就不会递增(在内循环中,所以if()总是为真。

@foreach (var item in Model)
{
   if(internalCounter != counter)
   {          
      <tr><td>@item.teamName</td><td>@item.W</td><td>@item.L</td></tr>
   }
   internalCounter = internalCounter+1;
}

或尊敬大师(Brian W. Kernighan,Dennis M. Ritchie):

@foreach (var item in Model)
{
   if(internalCounter++ == counter)
   {          
       continue;
   }
   <tr><td>@item.teamName</td><td>@item.W</td><td>@item.L</td></tr>
}

答案 1 :(得分:-5)

if(internalCounter == counter)
{
     continue;
     <tr><td>@item.teamName</td><td>@item.W</td><td>@item.L</td></tr>
     internalCounter = internalCounter+1;
}