Veröffentlicht 30. März 201015 j Hallo zusammen, benötige dringend Hilfe. Ich habe ein Array mit 2 Spalten. Sieht so aus: 5 Test 9 Bla 6 Text So und nun soll das Anhand der ersten Spalte abwärts sortiert werden. Dabei sollen die beiden Spalten aber auch noch zueinander passen. 9 Bla 6 Text 5 Test Wie gehts das in C#??? :confused::confused::confused: Gruß
30. März 201015 j ist doch nichts anderes, als ein eindimensionales array zu sortieren. Der einzige unterschied ist, dass du beim Dreieckstausch nicht nur ein Feld tauschst, sondern beide Spalten
30. März 201015 j array.sort() geht nur bei eindimensionalen Arrays. Und was meinst du bitte mit Dreieckstausch? Ich steh gerade auf dem Schlauch sorry!
30. März 201015 j array.sort() geht nur bei eindimensionalen Arrays. Ich habe auch nicht davon geredet, eine vorgefertigte Methode des Frameworks zu nutzen. Du wirst wohl einen eigenen Sortier-Algorithmus schreiben müssen. Nach welchem Verfahren dieser Arbeiten soll liegt bei dir. Aber hier mal ein paar Stichwörter dazu: Bubblesort Quicksort Selectionsort Da werden Möglichkeiten beschrieben, Daten zu sortieren. Für eine dieser Möglichkeiten musst du dich entscheiden und das Ganze in Quelltext "umwandeln"
30. März 201015 j static void Main(string[] args) { string[][] list = new string[][] { new string[] { "5", "Test" }, new string[] { "9", "Bla" }, new string[] { "6", "Text" } }; var sortetList = from l in list orderby l[0] descending select l; }[/PHP]
30. März 201015 j Die Variante kannte ich auch noch nicht. Ist doch immer wieder schön, was neues zu lernen^^
30. März 201015 j da c# gefragt ist, hier bidde ;-) string[,] list = { { "5", "Test" }, { "9", "Bla" }, { "6", "Text" }}; string sTmpPos1 = ""; string sTmpPos2 = ""; for (int i = 0; i < list.GetLength(0); i++) for (int j = i + 1; j < list.GetLength(0); j++) { if(Convert.ToInt32(list.GetValue(i, 0)) > Convert.ToInt32(list.GetValue(j, 0))) { sTmpPos1 = list.GetValue(i, 0).ToString(); sTmpPos2 = list.GetValue(i, 1).ToString(); list.SetValue(list.GetValue(j, 0), i, 0); list.SetValue(list.GetValue(j, 1), i, 1); list.SetValue(sTmpPos1, j, 0); list.SetValue(sTmpPos2, j, 1); } } }
30. März 201015 j gab es irgendwo eine nicht C# Lösung?:confused: LINQ sieht halt auf den ersten Blick nicht gerade nach C# aus
30. März 201015 j LINQ sieht halt auf den ersten Blick nicht gerade nach C# aus ne, sieht nur so aus, dass es nur mit entsprechendem .net framework läuft, und es muss nicht jeder das aktuelle haben... :old
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.