2016-10-19 2 views
0

Ich habe für die Schleife geschachtelt mit i Variable zuerst und j Variable Sekunde. Ich muss i Wert in verschachtelter für Schleife erhöhen. hier ist mein Code:Manuelles Erhöhen eines Wertes in verschachtelter Schleife in der Rasiereransicht

@for (i= 0; i < Model.ItemMap.Count() ;i++) 
{ 
    @{var PrevItem = Model.ItemMap.ToList()[i].ItemName;}        
    @for (j= i; j < Model.ItemMap.Count(); j++) 
    { 
     if (PrevItem != Model.ItemMap.ToList()[j].ItemName) 
     { 
     break;              
     } 
     @i++; 
    }           
} 

, in dem "@i++;" wirft Fehler.

Antwort

1

Ihre Syntax sieht falsch aus. versuchen, diese

@for (var i = 0; i < Model.ItemMap.Count(); i++) 
{ 
    var prevItem = Model.ItemMap.ToList()[i].ItemName; 
    for (var j = i; j < Model.ItemMap.Count(); j++) 
    { 
     if (prevItem != Model.ItemMap.ToList()[j].ItemName) 
     { 
      break; 
     } 
     i++; 
    } 
} 

nicht sicher, warum Sie uns zweimal sind Inkrementieren, aber dies keinen Syntaxfehler wirft.

0

Alles, was Sie brauchen, ist i++, ohne die @ - Razor weiß, dass Sie bereits in einem Code-Segment sind. Genauso sollten Sie keine Codebausteine ​​für Folgendes verwenden:

@for (i= 0; i < Model.ItemMap.Count() ;i++) 
{ 
    var PrevItem = Model.ItemMap.ToList()[i].ItemName;        
    for (j= i; j < Model.ItemMap.Count(); j++) 
Verwandte Themen