Kan*_*asi 2 c# asp.net asp.net-mvc foreach
我有个问题。
我有模型,感谢 foreach,我在页面中显示了该模型。在模型中,我有列(vPeriod),我需要将当前项目(例如vPeriod = 2016)与下一个项目(例如vPeriod = 2017)进行比较,但我不知道如何比较!
foreach(var item in Model)
{
if(current.vPeriod == next.vPeriod)
{
//do something
}
else
{
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用for,这是最简单的方法。但我该怎么做foreach呢?
代码查看:
<tr class="line2">
<td></td>
<td></td>
<td></td>
<td></td>
<td style="color: #5f6877;">2016</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
@foreach (var itemData in Model)
{
if (itemData.vPeriod == "2016")
{
<tr class="line3">
<td>@itemData.vAddress</td>
<td>@itemData.vCreateDate</td>
<td>@itemData.iCountOfFloors</td>
<td>@itemData.iCountOfRooms</td>
<td>@itemData.iAreaOfRooms</td>
<td>@itemData.vLastRepairs</td>
<td>@itemData.vType</td>
<td>@itemData.vBelonging</td>
<td>@itemData.vPlanRepairs</td>
</tr>
}
}
<tr class="line2">
<td></td>
<td></td>
<td></td>
<td></td>
<td style="color: #5f6877;">2017</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
@foreach (var itemData in Model)
{
if (itemData.vPeriod == "2017")
{
<tr class="line3">
<td>@itemData.vAddress</td>
<td>@itemData.vCreateDate</td>
<td>@itemData.iCountOfFloors</td>
<td>@itemData.iCountOfRooms</td>
<td>@itemData.iAreaOfRooms</td>
<td>@itemData.vLastRepairs</td>
<td>@itemData.vType</td>
<td>@itemData.vBelonging</td>
<td>@itemData.vPlanRepairs</td>
</tr>
}
}
Run Code Online (Sandbox Code Playgroud)
真是太可怕了!我可以有许多不同的年份,并且始终需要创建一个包含数据的块和一个用于年份的“foreach”块。
您无法使用foreach循环访问下一个元素。相反,您应该使用for循环,并根据数组索引来比较两个值。使用这样的东西
for(int i=0; i<Model.Count-1; i++)
{
list[i] != list.Last() ? Compare(list[i], list[i+1]) : break;
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
6438 次 |
| 最近记录: |