Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

C#: String class erweitern oder andere Lösung?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Smoerble
PostRank 5
PostRank 5
Beiträge: 201
Registriert: 18.05.2004, 09:12
Wohnort: bei München

Beitrag von Smoerble » 21.08.2004, 01:42

Hoi alle,
ich habe einen String, der einige Placeholder enthält. In einer Schleife ersetze ich die placeholder mit anderen Strings und setze das Ganze in einen StringBuilder. Derzeit sieht der Code etwa so aus:
-----------
.... loop start...
listCode.Append(forumTemplate.getLoopCode().Replace(
"[forumSubject]", forumSubject).Replace(
stringPlaceholderOne, oneTopic.getReplyCount().ToString()).Replace(
....
etliche weitere replacements
....
"[countViews]", oneTopic.getViewCount().ToString()).Replace(
"[lastPostAuthor]", oneTopic.getLastPostAuthorNick()).Replace(
"[lastPostDate]", oneTopic.getLastPostDateFormatted())
);
... loop end...
-----------

Es gibt dabei folgendes Problem:
Wenn die Variable "stringPlaceholderOne" leer ist (""), dann crasht string.Replace.
Also würde ich gerne so etwas Einfaches wie folgenden Code benutzen:
-----------
static public string replaceInString(string inString, string inFind, string inReplaceWith) {
if (inString.IndexOf(inFind) >= 0) {
return inString.Replace(inFind, inReplaceWith);
} else {
return inString;
}
}
-----------

Das Problem:
Ich müsste dazu immer wieder neue variablen setzten a la:
-----------
newString = replaceInString(newString, ....)
-----------
Das wird aber zu langsam durch die Schleife und die Masse der Replaces.
Daher überlege ich, ob man die string-class nicht einfach um eine eigene Methode erweitern kann?
Also dass string dann alle bisherigen Methoden hat sowie die obige neu dazu?

Wie macht man so etwas oder wie würdet Ihr das lösen (bitte denkt an die Geschwindigkeit!)?

Eigentlich ist es C#, aber da die Syntax zu Java fast gleich ist, hoffe ich, ihr könnt helfen, thx.
Cyall
Smo