Hier ist eine Option, die ich mag. Es ist besser, wenn Sie bereits ein IEnumerable<string>
mit Ihren Daten haben, aber es ist einfach genug, auch wenn Sie es nicht tun. Es skaliert auch gut zu n Strings, die verbunden werden, nicht nur 1 oder 2.
Hier ist eine andere Option. Es ist ein bisschen kürzer für diesen einen Fall, aber es ist hässlicher, schwerer zu lesen und nicht so erweiterbar, also würde ich es wahrscheinlich persönlich vermeiden:
%Vor% In diesem Fall fügen wir den Platz zur Formatzeichenfolge selbst hinzu, aber wenn message
null ist, verwenden wir stattdessen das Rückschrittzeichen, um den Raum, von dem wir wissen, davor in der Nachricht zu entfernen.
Sicher wird dies zu einigen String-Objekt-Kreationen führen, aber es ist unwahrscheinlich, dass solche Mikro-Optimierungsprobleme in der überwiegenden Mehrheit der Programme von Bedeutung sind. Es könnte als ein Vorteil dieser Methode angesehen werden, dass sie nicht nur eine leere Nachricht behandelt, sondern auch eine Nachricht von allen Leerzeichen.
Versuchen Sie Folgendes:
%Vor%Für neuere Versionen von C # können Sie die folgende Erweiterungsmethode verwenden:
%Vor%Es kann so verwendet werden:
%Vor%Hier ist eine Option, die ich mag. Es ist besser, wenn Sie bereits ein %code% mit Ihren Daten haben, aber es ist einfach genug, auch wenn Sie es nicht tun. Es skaliert auch gut zu n Strings, die verbunden werden, nicht nur 1 oder 2.
%Vor%Hier ist eine andere Option. Es ist ein bisschen kürzer für diesen einen Fall, aber es ist hässlicher, schwerer zu lesen und nicht so erweiterbar, also würde ich es wahrscheinlich persönlich vermeiden:
%Vor%In diesem Fall fügen wir den Platz zur Formatzeichenfolge selbst hinzu, aber wenn %code% null ist, verwenden wir stattdessen das Rückschrittzeichen, um den Raum, von dem wir wissen, davor in der Nachricht zu entfernen.
Am elegantesten ist es, das eingebaute Schlüsselwort der String-Klasse zu verwenden.
%Vor%Auf diese Weise haben Sie kein Problem.
Irgendwann möchte ich zwei Saiten mit einem Zwischenraum dazwischen verbinden. Aber wenn die zweite Zeichenfolge null ist, möchte ich den Platz nicht.
Betrachten Sie folgenden Code:
%Vor%Gibt es einen eleganteren Weg, das zu tun?
Sicher wird dies zu einigen String-Objekt-Kreationen führen, aber es ist unwahrscheinlich, dass solche Mikro-Optimierungsprobleme in der überwiegenden Mehrheit der Programme von Bedeutung sind. Es könnte als ein Vorteil dieser Methode angesehen werden, dass sie nicht nur eine leere Nachricht behandelt, sondern auch eine Nachricht von allen Leerzeichen.
Tags und Links c# string-formatting