希望这是一个简单的问题,我试着按照自己的意愿去做。但我无法解决剩下的部分。
对于每一行,我想检查日期是否更高或更低等于最后一行。但是如何?
正如您在图像和示例代码中看到的那样。
Click and see the image exsample
以下代码:
@using Scoutpocket.Models.Database;
@model Tuple<List<Properties>, List<SubProperties>, List<Rating>>
<div class="container">
@foreach (var item in Model.Item1)
{
<br />
<br />
<b>
@item.PropertiesName
</b>
<br />
foreach (var item2 in item.SubProperties)
{
@item2.SubPropertiesName<br />
int count = 2;
int getLast = 1;
foreach (var item3 in item2.rating.Where(x => x.PlayerID == 1).Take(count).OrderByDescending(x => x.Date))
{
for (int i = 0; i < getLast; i++)
{
// Check the index of the last row, and check if the current date is lower or heighter.
<b>Compare date on last and newst</b>
}
<span>Rating ID: @item3.RatingID</span>
<span> | </span>
<span>Value: @item3.Value</span>
<span> | </span>
<span>ScoutID: @item3.ScoutID</span>
<span> | </span>
<span>PlayerID: @item3.PlayerID</span>
<span> | </span>
<span>Date: @item3.Date</span>
<br/>
}
}
}
</div>
答案 0 :(得分:0)
如果您使用List
类型,则可以轻松使用Count
来获取大小,并list.Count - 1
获取最后一个索引。这将返回最后一个元素;确保验证计数,可能会引发其他明智的索引超出范围。
例如,
var _dateHigh = Model.Item1.Last(); // extension methods
// same for dateLow
@foreach (var item in Model.Item1) {
// run the code here.
}
如果最后一个元素随每次迭代而变化,那么我建议在循环中使用嵌套变量。我们无能为力,因为您没有共享模型结构,因此我们可以帮助的更少。