Schleife
-
Guten Tag,
ich habe hier eine Liste mit 5 Elemente und kriege eine ArgumentOutOfRange Exception: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: indexfor (int i = 0; i < liste[i].Umsatz; i++)
{
for (int j = 0; j < liste[i].Umsatz -1 -i; j++)
{
if (liste[j].Umsatz > liste[j + 1].Umsatz)
{
var temp = liste[j];
liste[j] = liste[j + 1];
liste[j + 1] = temp;
}
}Wo liegt hier der Fehler?
Vielen Dank
-
Ich krieg hier eine Fehlermeldung, weil ich liste[j + 1] schreibe.
Wie kann ich es anders machen?
-
Indem du OrderBy benutzt.
var sortedList = liste.OrderBy( f => f.Umsatz);
-
verstehe ich irgenwie nicht.
Soll ich OrderBy anstatt BubbleSort benutzen?
Was ist f?
-
Schau mal hier hast du einen Link zum Thema Lambda-Ausdruecke, das ist das was ich dort Verwende: http://msdn.microsoft.com/de-de/library/bb397687.aspx
Wenn du deine alte Liste unveraendert lassen willst dann kannst du OrderBy benutzen. Ansonsten benutzt du Sort der Klasse List<T>