web-dev-qa-db-de.com

Wie überprüfe ich, ob ein StringBuilder leer ist?

Ich muss eine Methode testen, die StringBuilder, zwei Elemente, übernimmt und das StringBuilder mit den Abweichungen zwischen den beiden Elementen füllen.

In meinem ersten Test gebe ich ihm zwei identische Elemente, daher möchte ich testen, ob das StringBuilder leer ist.

Es gibt keine IsEmpty-Methode oder -Eigenschaft.

Wie kann man das leicht überprüfen?

18
Darth Boiethios

Wenn Sie sich die -Dokumentation von StringBuilder ansehen, hat sie nur 4 Eigenschaften. Eines davon ist Length.

Die Länge eines StringBuilder-Objekts wird durch die Anzahl der Char-Objekte definiert.

Sie können die Eigenschaft Length verwenden:

Ruft die Länge des aktuellen StringBuilder-Objekts ab oder legt diese fest.

StringBuilder sb = new StringBuilder();

if (sb.Length != 0)
{
    // you have found some difference
}

Eine andere Möglichkeit wäre, sie mit der Methode String.IsNullOrEmpty als Zeichenfolge zu behandeln und den Builder mit der Methode ToString zu einer Zeichenfolge zu kondensieren. Sie können den resultierenden String sogar packen und einer Variablen zuweisen, die Sie verwenden würden, wenn Sie Unterschiede feststellen:

string difference = ""; 

if (!String.IsNullOrEmpty(difference = sb.ToString()))
{
    Console.WriteLine(difference);      
}
30
Mong Zhu

verwenden Sie die StringBuilder.Length-Eigenschaft, hier die doc

if (mySB.Length > 0)
{
     Console.WriteLine("Bang! is not empty!"); 
}

Verwenden Sie dies, es wird funktionieren:

StringBuilder stringbuilder = new StringBuilder();
if(string.isnullorempty(Convert.toString(stringbuilder)))
0
Ajith Kumar