Hallo zusammen,
Ich möchte ein Wort in seine Buchstaben zelegen und diese dann in einem Array speichern.
Nun habe ich folgendes Konstrukt:
string[] testArr = new string[5];
string text = "hallo";
for(int i=0; i<=text.Length; i++){
testArr[i] = text.Substring(i, text.Length-(text.Substring(i+1, text.Length).Length));
Console.WriteLine(testArr[i]);
}
bekomme aber andauernd die Exception:
Ausnahme System.ArgumentOutOfRangeException wurde im ausgeführten Programm ausgelöst:
Der Index und die Länge müssen sich auf eine Position in der Zeichenfolge beziehen.InternalSubStringWithChecks()
Substring()
Main() - c:\Dokumente und Einstellungen\Administrator\Eigene Dateien\SharpDevelop Projects\Polybios\Polybios.cs:75,5
Wo könnte der Fehler versteckt sein? Ist es Syntaktisch oder eher ein Denkfehler?
Vielen Dank & Grüße,
la-finest
Hi,
du hast da ein Denkfehler. Du erstellst ein Array mit 5 Elementen d.h. 0-4. Du gehst aber deine Schleife 6 mal durch weil text.Length 5 ergibt d.h. 0 - 5. Außerdem kannst du mit text_ auch einzelt auf bestimmte Buchstaben zugreifen.
Richtig wär in deinem Fall
string[] testArr = new string[5];
string text = "hallo";
for(int i=0; i<text.Length; i++){
testArr[i] = text[i].ToString();
}
Hoffe meine Erklärung ist ein bisschen verständlich. Der Code ist hoffentlich auch richtig, kann den gerade nicht ausprobieren.
schabe
string text = "hallo";
char[] testArr = text.ToCharArray();
Hallo la-finest,
warum willst du es überhaupt zerlegen? Du kannst doch mit text_ direkt auf die Buchstaben zugreifen.
herbivore
Danke für eure Hilfe.
Irgendwie hab ich noch nie gesehen, dass man mit text_ auf die einzelnen Buchstaben zugreifen kann. Sonst hätte ich es gleich so verwendet 😁
Vielen Dank.
Greetz,
la-finest
Sowas findet man am besten in der Doku vom DOT NET Framework. --> String.Chars-Eigenschaft
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...