strings bearbeiten

d_Artagne

Mitglied
Hi Leute


Ich hab keine Ahnung warum man in einen string keine einzelnen Zeichen einlesen kann.

Der Code sieht so aus:
Code:
static void Main(string[] args) {
   string text="hallo";
   for (int i=0;i<=text.Length;i++) {
      text[i] = Convert.ToString(i);
   }
}


was ich auch schon probiert hab:
Code:
static void Main(string[] args) {
   string text="hallo";
   for (int i=0;i<=text.Length;i++) {
      text[i] = Convert.ToChar(i);
   }
}
 
moin

Das liegt daran, dass strings nicht veränderbar sind. Man kann zwar was löschen, einfügen, anhängen, ... aber direkt sowas machen, wie du es willst, das geht mit strings nicht. Jedes mal wenn du einen String bearbeitest, wird im Hintergrund ein neuer ,veränderter, angelegt (zumindest ist das in Java so).

Schau dir die StringBuilder-Klasse an, damit sollte es gehn.
Ansonsten kannst du ja noch mit Arrays herumhantieren (ist zwar hierfür etwas unschön und kompliziert, aber besser als nix).

mfg broetchen
 
Warum benutzt du nicht generell ein Char-Array und wandelst es bei Bedarf in einen String ?

MFG JJB
 
hat ein Char-array eine insert-funktion? weiß ich jetzt nicht ausm kopf.

ansonsten kannst du dir quasi nen XString machen, indem du dann halt ne Funktion Insert einbaust.

str.insert(pos, text) zb.

diese funktion kannst du dir ganz einfach bauen, in dem du halt nach der position den string teilst, an das erste stück den neuen text packst und danach das zweite stück wieder dranbaust.
 
Wenn ich das jetzt richtig verstanden habe, sollen in einen String bestimmter Länge, an bestimmten Stellen, einzelne Zeichen geschrieben werden.
Wenn man nun ein Char-Array nimmt und an die indizierten Stellen einließt, kann man dieses doch an einem beliebigen Zeitpunkt in einen String casten und man erspart sich Arbeit mit dem String.
Sehe ich das falsch ?

MFG JJB
 

Neue Beiträge

Zurück