Domanda Come verificare se un StringBuilder è vuoto?


Devo unità test un metodo che prende un StringBuilder, due elementi e riempire il StringBuilder con le discrepanze trovate tra i due elementi.

Nel mio primo test, gli do due elementi identici, quindi voglio testare se il StringBuilder è vuoto.

Non c'è IsEmpty metodo o proprietà.

Come controllare facilmente questo?


15
2017-08-01 08:52


origine


risposte:


Se guardi il documentazione di StringBuilder ha solo 4 proprietà. Uno di essi è Length.

La lunghezza di un oggetto StringBuilder è definita dal suo numero di oggetti Char.

Puoi usare il Lunghezza proprietà:

Ottiene o imposta la lunghezza dell'oggetto StringBuilder corrente.

StringBuilder sb = new StringBuilder();

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

Un'altra possibilità sarebbe trattarla come una stringa usando il String.IsNullOrEmpty metodo e condensare il builder in una stringa usando il ToString metodo. Puoi anche prendere la stringa risultante e assegnarla a una variabile che useresti se hai trovato alcune differenze:

string difference = ""; 

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

25
2017-08-01 08:54



Usa il StringBuilder.Length Proprietà, qui il doc

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

3
2017-08-01 08:55



Usa questo, funzionerà:

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

0
2018-03-15 10:15



Possiamo controllare che StringBuilder sia vuoto.

Mediante:

StringBuilder sb = new StringBuilder();
if(sb.Length > 0) { 
   //Your code goes here..
}else{
  //StringBuilder is Empty
}

O

StringBuilder sb = new StringBuilder();
if(!String.IsNullOrEmpty(sb.ToString()){
     //Your code goes here..
}else{
    //StringBuilder is Empty
}

-4
2017-08-01 11:41