在foreach循环中,如何识别第一个元素?例如,在下面的代码段中,我可以识别作为第一个(或最后一个)项目的内容项目吗?
@foreach(在AsDynamic中的var内容(数据["默认"])) { ?? }
答案 0 :(得分:0)
您可以这样做:
@{int i = 1;}
@foreach(var Content in AsDynamic(Data["Default"]))
{
if(i==1)
{
//this is first element
}
i++;
}
答案 1 :(得分:0)
另一种选择是将当前项目与First()或Last()进行比较。但是由于AsDynamic引起的动态包装,你可能会遇到一些惊喜。所以我的伪代码建议有点像这样
var firstI = Data["Default"].FirstOrDefault(); // returns null if nothing
var lastI = Data["Default"].LastOrDefault(); // null...
@foreach(var Content in AsDynamic(Data["Default"]))
{
var isFirst = AsEntity(Content) == firstI; // unwrap and compare
//etc.
}