LernMoment / community-fragen

C# Fragen aus der LernMoment Community zum lernen und üben in der LernMoment Community.
The Unlicense
2 stars 3 forks source link

Antwort zu Frage: SYN-1 String in Char Array wandeln #5

Open suchja opened 4 years ago

suchja commented 4 years ago

Hier meine Antwort zur Frage: SYN-1

Der einfachste Weg einen string in ein char[] zu wandeln ist sicherlich dieser:

string text = "Community Frage";
char[] sUD = text.ToCharArray();

Da es jedoch darum geht zu verstehen wie auf einzelne Zeichen im string zugegriffen werden kann, hier der eigentliche Quellcode ohne Fehler (darunter folgen ein paar Erklärungen):

string text = Console.ReadLine();
char[] sUD = new char[text.Length];
for (int x = 0; x < text.Length; x++)
{
    sUD[x] = text[x];
}
  1. Das erste Problem gab es im ursprünglichen Quellcode mit den verwendeten Datentypen. Die variable sUD muss vom Type char sein und ihr muss ein neues Array vom Typ char zugewiesen werden. Beim eigentlichen zuweisen der einzelnen Zeichen aus text an sUD darf dort nicht wieder der Datentyp angegeben werden. Dieser wurde ja bereits vorher festgelegt. Merke: Eine Variable wird einmalig definiert. Dabei wird der Datentyp festgelegt. Bei Arrays kann der Variable dann ein neues Array mit einer definierten Anzahl von Elementen mithilfe von new zugewiesen werden. Wenn dem Array einzelne Werte zugewiesen werden, dann brauchst du nur den Namen und die Position angeben (nicht den Datentyp).
  2. Die for-Schleife war fest auf 8 Werte gesetzt. Gibst du mehr oder weniger Zeichen beim Console.ReadLine ein, bekommst du einen Fehler, weil du ausserhalb der Grenzen bist. Daher habe ich erst den text via Console.ReadLine eingelesen. Damit ist klar wieviele Zeichen es gibt. Nun kann sowohl das char-Array (sUD) mit den passenden Anzahl angelegt werden, wie auch die passenden Anzahl in der for-Schleife verwendet werden.
  3. Verwendest du wie in meiner Lösung die Länge des Textes (text.Length) bekommst du die Anzahl der Zeichen zurück und musst dann die for-Schleife anpassen und x < text.Length nehmen. Das war jedoch in deiner Frage auch schon soweit korrekt.

Den kompletten Quellcode für meine Lösung findest du hier

DeeQay commented 4 years ago

Ich hätte nie gedacht dass ich so eine gut erklärte Antwort auf meine Frage bekomme. Ich finde es super wie du das machst und das hat mir sehr weitergeholfen. DANKE!!

suchja commented 4 years ago

Cool, dass du dich dafür auch bei GitHub angemeldet hast. Falls du einen Einstieg in GitHub benötigst, habe ich ein kostenloses Tutorial: https://www.udemy.com/github-tutorial-deutsch/

Mehr Informationen zu C# und was du auf deinem Weg vom Einsteiger zum C# Entwickler sonst noch wissen solltest findest hier: https://www.lernmoment.de