#1
22.04.2021 um 19:23 UhrHallo,
warum hast Du 3 mal die gleiche Lösung eingereicht?
Deine Methode liefert schon das richtige Ergebnis, es wäre aber dennoch schöner gewesen, wenn die Ausgabe als Wort nebeneinander gestanden hätte. Außerdem ist Dein Code durch redundante Umwandlungen von Datentypen und Containern recht aufgebläht.
z.B. muss ein String nicht in ein Char-Array umgewandelt werden, da ein String bereits ein optimiertes Char-Array ist.
Ich habe mal ein Refactoring durchgeführt und alles was "unnötig" ist auskommentiert und am Ende den bereinigten Code eingestellt.
C#-Code
C#-Code
Gruß JKooP
warum hast Du 3 mal die gleiche Lösung eingereicht?
Deine Methode liefert schon das richtige Ergebnis, es wäre aber dennoch schöner gewesen, wenn die Ausgabe als Wort nebeneinander gestanden hätte. Außerdem ist Dein Code durch redundante Umwandlungen von Datentypen und Containern recht aufgebläht.
z.B. muss ein String nicht in ein Char-Array umgewandelt werden, da ein String bereits ein optimiertes Char-Array ist.
Ich habe mal ein Refactoring durchgeführt und alles was "unnötig" ist auskommentiert und am Ende den bereinigten Code eingestellt.

static void Main(string[] args) { string s = "trAInyOUrprOgrAmmEr"; int position = 0; List<char> liste1 = new List<char>(); //char[] buchstaben = s.ToCharArray(); foreach (var item in s.Reverse()) //foreach (var item in buchstaben.Reverse()) { if ("AaEeIiOoUu".Contains(item)) //if (item.Equals('a') || item.Equals('e') || item.Equals('i') || item.Equals('o') || item.Equals('u') || item.Equals('A') || item.Equals('E') || item.Equals('I') || item.Equals('O') || item.Equals('U')) { liste1.Add(item); } } //char[] umlaute = liste1.ToArray(); foreach (var item in s) { if ("AaEeIiOoUu".Contains(item)) //if (item.Equals('a') || item.Equals('e') || item.Equals('i') || item.Equals('o') || item.Equals('u') || item.Equals('A') || item.Equals('E') || item.Equals('I') || item.Equals('O') || item.Equals('U')) { Console.Write(liste1[position]); //Console.WriteLine(liste1[position]); position++; } else { Console.Write(item); //Console.WriteLine(item); } } }

static void Main(string[] args) { string s = "trAInyOUrprOgrAmmEr"; int position = 0; var liste1 = new List<char>(); foreach (var item in s.Reverse()) if ("AaEeIiOoUu".Contains(item)) liste1.Add(item); foreach (var item in s) if ("AaEeIiOoUu".Contains(item)) Console.Write(liste1[position++]); else Console.Write(item); }
Gruß JKooP
