Hallo, ich habe 2 Counter, die von 1-x zählen. Jetzt möchte ich entsprechend diese Counter einen String zusammenbauen, mittels StringBuilder.
Als Beispiel kommt dann z.B. sowas raus:
Es wurden 8 Datensätze erstellt und 1 Datensätze aktualisiert.
Wie man sieht, stimmt da die Grammatik nicht ganz, ich möchte haben:
Es wurden 8 Datensätze erstellt und 1 Datensatz aktualisiert.
Wenn es also einer der beiden oder beide Counter auf 1 stehen, soll "Datensatz" erscheinen. Jetzt könnte ich das mit if Abfragen machen, aber gibt es eventuell einen eleganteren Weg dies zu bewerkstelligen? Das ist mein Code, wie ich die Zeile erstelle:
stringBuilder.Append("Es wurden " + counter1 + " Datensätze neu erstellt und " + counter2 + " Datensätze aktualisiert.");
Danke 😃
Schon mal in die Hilfe zu StringBuilder geschaut?
Der Text zu AppendFormat hört sich doch gut an,oder?
Hi,
Anstatt den ifs könnte man auch die verkürzte a?b:c Notation nutzen.
Alles dann in einem String.Format machts auch relativ übersichtlicht:
String.Format("Es wurden {0} {1} erstellt und {2} {3} aktualisiert",
counter1, (counter1>1)?"Datensätze":"Datensatz",
counter2, (counter2>1)?"Datensätze":"Datensatz")
beste Grüße
zommi
//Edit: Auf das "wurde(n)" müsste natürlich auch noch geachtet werden.
Hallo,
besser geeignet ist i. allg. die Prüfung counter==1 - dann funktioniert's nämlich auch mit 0.