Entwickler-Ecke

Sonstiges (.NET) - Array.Sort(wurf) im Vergleich zu wurf.OrderBy(n=>n)


darkangel1208 - Mo 30.11.09 16:10
Titel: Array.Sort(wurf) im Vergleich zu wurf.OrderBy(n=>n)
ich abe ein array, das ich an eine Methode übergebe.
In der Methode lasse ich dann sortieren.


Kann es sein das wenn ich ein unsortiertes Array an eine Methode übergeben und wurf.OrderBy(n => n) benutze, das das Array nur innerhalb der Methode sortiert ist, und danach nicht mehr. Wenn ich aber Array.Sort(wurf) nehme ist mein Array auch nach verlassen der Methode noch sortiert?

Kann das sein?


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
private void wurf_Click(object sender, EventArgs e)
{
    for (i = 0; i < 5; i++)
    {
        rollen[i] = rnd.Next(17);      
    }
    spielerbox[11, spielernr].Text = Convert.ToString(fullhouse(rollen));
}
public int fullhouse(int[] wurf)    // Berechnet das Fullhouse von Kniffel
{
    wurf.OrderBy(n => n);
    //Array.Sort(wurf);
    return // blabla hier unwichtig
}


bakachan - Mo 30.11.09 16:17

Wenn du dir die Informationen zu den beiden Funktionen durchliest wirst du feststellen das Array.Sort() das übergebene Array direkt sortiert und .OrderBy() dir ein sortiertes IEnumerable des entsprechenden Typs zurückgibt.


Kha - Mo 30.11.09 19:28

In Code für die Schule würde ich aber auf keinen Fall OrderBy einsetzen, ausgehend von deinen bisherigen Erzählungen ;) . Dann lieber das Array kopieren und darauf Sort anwenden, so bleibt das Original ebenfalls enthalten.