Für das Projekt, in dem ich mich gerade befinde, muss ich speziell formatierte Zeichenketten an einen Drittanbieter-Dienst zur Verarbeitung liefern. Und so den Aufbau ich die Saiten wie so:Sollen wir Formatstrings in Ressourcen speichern?
string someString = string.Format("{0}{1}{2}: Some message. Some percentage: {3}%", token1, token2, token3, number);
Vielmehr dann codiert die Zeichenfolge, ich dachte an sie in die Projektressourcen zu bewegen:
string someString = string.Format(Properties.Resources.SomeString, token1, token2, token3, number);
Die zweite Option ist meiner Meinung nach , nicht so lesbar wie die erste, dh die Person, die den Code liest, müsste die String-Ressourcen hochziehen, um herauszufinden, wie das Endergebnis aussehen soll.
Wie kann ich das umgehen? Ist die hardcodierte Formatzeichenfolge in diesem Fall ein notwendiges Übel?
useing Sie sollten auch Fügen Sie der Ressourcendatei Kommentare hinzu, um die Parameter anzugeben. Dies ist sehr nützlich für Lokalisierer, wenn die Datei jemals zur Übersetzung geht. –
@CodingMonkey: vereinbart. Machen Sie den Lokalisierungsingenieuren das Leben so einfach wie möglich. Sie wollen keine Übersetzungsraten. –
@MichaelPetrotta> Wie würden Sie den Code stabilisieren, so dass diese {0} Strings nicht mehr notwendig sind? Ich persönlich denke darüber nach, 'string.Format' nicht zu verwenden, sondern benutze:' "begin {middle end". Ersetze ("{middle}", middle) '. Natürlich hat dieser Ansatz eigene Probleme ... – Laoujin