2016-11-26 9 views
0

foreachループでは、どのように最初の要素を特定するのですか?たとえば、下のスニペットで、最初(または最後)のアイテムであるコンテンツアイテムを識別できますか?2sxc:foreach最初の要素を特定する方法

@foreach(varコンテンツはAsDynamic(Data ["Default"])) { ?? }

答えて

0

あなたはこのような何かを行うことができます。

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

おかげさまで、 –

0

別のオプションは、まず()またはLast()に現在の項目を比較することです。しかし、AsDynamicによって引き起こされるDynamicラッパーのために、いくつかの驚きに遭遇するかもしれません。だから、私の擬似コード推奨はちょっとこのようなものです

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. 
} 
関連する問題