2016-11-26 10 views
0

В цикле foreach, как определить первый элемент? Например, в приведенном ниже фрагменте я могу определить элемент контента, который является первым (или последним) элементом?2sxc: foreach как идентифицировать первый элемент

@foreach (var Содержание в AsDynamic (данные ["По умолчанию"])) { ?? }

ответ

0

Вы можете сделать что-то вроде этого:

@{int i = 1;} 
@foreach(var Content in AsDynamic(Data["Default"])) 
{ 
    if(i==1) 
    { 
     //this is first element 
    } 
    i++; 
} 
+0

Спасибо вам обоим. –

0

Другого варианта для сравнения текущего элемента к первому() или 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. 
}