Entwickler-Ecke
C# - Die Sprache - schleife mit null beenden möglich?
CanPolat - Do 19.11.09 23:43
Titel: schleife mit null beenden möglich?
hi leute.. hatte da mal ein kleines problem... ich wollte mal ein eingegebenes word auseinander pflücken, aber die dumme schleifenfunktion will nicht so wie ich es will.
also:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| string a; Console.Write("was eingeben: "); a=Convert.tostring(Console.ReadLine()); string[] b=new string [100]; int i =-1;
do { i++ b[i]=a.Substring(i,1); }while (b[i]!=null); |
so in etwa habe ich es gemacht aber funktioniert leider nicht;(.. hoffentlich kann mir da einer helfen.
schonmal danke im forraus
Kha - Do 19.11.09 23:51
Zitat: |
aber die schleife bricht nicht ab |
Ich würde da eher eine ArgumentOutOfRangeException entweder von Substring oder von b[i] erwarten. Aber spricht etwas gegen
String.ToCharArray() ;) ?
Natok - Sa 21.11.09 22:30
Hi..
Du solltest erstmal zwingend i auf i=0 setzen und das i++ dann eins nach unten, denn sonst schiesst der Index um 1 über das Ziel hinaus.
Da ich im moment auch gerade angefangen habe C# zu lernen, dachte ich mir, daß es eine nette Aufgabe zum probieren wäre.
Leider wusste ich nicht, ob Du nun Zeichen oder Wörter separieren wolltest, deshalb habe ich mal beides mit einfliessen lassen.
Wörter erkennt er anhand der Leerzeichen.
Ich hoffe, daß ich Dir damit schonmal weiterhelfen konnte.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| string eingabe; string[] temp; Console.Write("Ihre Eingabe: "); eingabe=Console.ReadLine(); temp = eingabe.Split(' '); for (int a = 0; a < temp.Length; a++) { Console.WriteLine(temp[a]); for (int b = 0; b < temp[a].Length; b++) Console.WriteLine(temp[a].Substring(b, 1)); } |
Namenlosnameless - Fr 27.11.09 21:03
Wenn du den string seperieren willst gibt es
C#-Quelltext
1: 2: 3: 4:
| foreach(Char c in a) {
} |
So könnte ich mir das vorstellen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| string a; Console.Write("was eingeben: "); a =Console.ReadLine();
foreach (char c in a) { Console.WriteLine(c.ToString()); } Console.ReadLine();
|
falls du Wörter seperieren willst verwende die String.Split()- Methode!
das sieht dann so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| string a; Console.Write("was eingeben: "); a =Console.ReadLine();
foreach (string s in a.Split(' ')) { Console.WriteLine(s); } Console.ReadLine();
|
An diesem Punkt ein dake an JüTho und Kha die mir auf dem Bereich der Strings sehr weiter geholfen haben :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!