Add to string wenn die Zeichenfolge nicht leer ist

8

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?

    
THX-1138 25.09.2012, 17:49
quelle

5 Antworten

24

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.

%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 message null ist, verwenden wir stattdessen das Rückschrittzeichen, um den Raum, von dem wir wissen, davor in der Nachricht zu entfernen.

    
Servy 25.09.2012 17:51
quelle
1
%Vor%

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.

    
hatchet 25.09.2012 17:59
quelle
0

Versuchen Sie Folgendes:

%Vor%     
Icemanind 25.09.2012 17:51
quelle
0
___ answer12588434 ___

Versuchen Sie Folgendes:

%Vor%     
___ answer475696298 ___

Für neuere Versionen von C # können Sie die folgende Erweiterungsmethode verwenden:

%Vor%

Es kann so verwendet werden:

%Vor%     
___ answer12588431 ___

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.

    
___ answer12588446 ___

Am elegantesten ist es, das eingebaute Schlüsselwort der String-Klasse zu verwenden.

%Vor%

Auf diese Weise haben Sie kein Problem.

    
___ qstntxt ___

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?

    
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ answer12588549 ___
%Vor%

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.

    
___ tag123stringformatting ___ Bezieht sich allgemein auf eine Reihe von Methoden, um eine beliebige Anzahl verschiedener Datentypen in einer Zeichenkette anzuzeigen. ___ qstnhdr ___ Add to string wenn die Zeichenfolge nicht leer ist ___
AlexDev 01.12.2017 15:13
quelle
-5

Am elegantesten ist es, das eingebaute Schlüsselwort der String-Klasse zu verwenden.

%Vor%

Auf diese Weise haben Sie kein Problem.

    
pordi 25.09.2012 17:52
quelle

Tags und Links