replace geht nicht
-
Hallo,
Ich am Ende meiner Auflistung von Tabellenspalten ein "," zuviel, welches ich mit replce wegnehmen wollte. Nur der macht das irgendwie nicht. Weiß einer warum?
Hier mein Code:
if (selectedRowCount > 0) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("Select "); for (int i = 0; i < selectedRowCount; i++) { sb.Append(dataGridView1.SelectedRows[i].Cells[0].Value.ToString()); sb.Append(", "); } sb.Append(" from " + tabellennameora); sb.Replace(", from ", " from"); MessageBox.Show(sb.ToString()); }
-
Replace gibt einen String mit dem neuen Ergebnis zurück.
-
Abgesehen davon, dass vor dem from 2 Leerzeichen sind.
-
Kleiner Tipp bei solchen (und ähnlichen) Problemen.
Du kannst zu 95% davon ausgehen das solche Funktionen aus dem Framework, besonders wenns zentrale Sachen wie String sind, 100%tig funktionieren.
Die Aussage: "Replace geht nicht" ist daher einfach die falsche Betrachtungsweise. Die Frage muß eigentlich lauten: "Was mache ICH falsch bei der Anwendung von Replace" ?
Warum das so wichtig ist so zu denken? Nun, wenn Dir bewußt ist das DU etwas falsch machst wenn die Funktion nicht das von Dir (fälschlich) erwartete Ergebnis liefert ist der nächste logische Schritt in die Dokumentation zu schauen und nachzulesen wie genau denn die Funktion arbeitet. Dort findest Du zuerst einmal Codebeispiele:
http://msdn2.microsoft.com/en-us/library/fk49wtc1.aspx
Zugegeben, die String-Sache ist etwas verwirrend am Anfang, jedoch basiert dieses Verhalten auf einem der Grundfeatures von C#-String, die sind immuteable. Auch dazu gibt es, man solls nciht glauben, ausführliche Dokumentation:
http://msdn2.microsoft.com/en-us/library/system.string.aspx
WO auch erklärt wird was immuteable bedeutet:
A String object is called immutable (read-only) because its value cannot be modified once it has been created. Methods that appear to modify a String object actually return a new String object that contains the modification.
Grundsätzlich ist es empfehlenswert sich zumindest die Grundlagen einer Sprache mal genauer anzuschauen (sprich doku lesen), daß kann enorm helfen. Wenn davon etwas unklar oder unverständlich ist, hast Du immer noch das Forum um Hilfe zu finden... IMho. sollte der erste Schritt aber Grundsätzlich ein Blick in die Doku sein, denn nur so kannst Du lernen, mit der Zeit sogar wie man solche simplen Fragen auch selbstständig klären kann...
-
skals schrieb:
Zugegeben, die String-Sache ist etwas verwirrend am Anfang, jedoch basiert dieses Verhalten auf einem der Grundfeatures von C#-String, die sind immuteable.
Ähm … das ist nett, aber im Code werden keine Strings verwendet (…) sondern ein StringBuilder, daher ist das alles irrelevant, die Benutzung von 'Replace' ist hier nämlich vollkommen korrekt.
-
Öhm... *räusper* Ja, wenn man zu schnell liest.
Ich denke Boonbuster hat die Lösung des Problemes gefunden.
-
Asche auf mein Haupt...