Ecco un'opzione che mi piace. È meglio se hai già uno IEnumerable<string>
con i tuoi dati, ma è abbastanza facile anche se non lo fai. Inoltre, si adatta chiaramente alle stringhe in entrata, non solo 1 o 2.
string[] myStrings = new string[]{"Hello", "World", null};
string result = string.Join(" ", myStrings.Where(str => !string.IsNullOrEmpty(str)));
Ecco un'altra opzione. È un po 'più breve per questo un caso, ma è più brutto, più difficile da leggere, e non come estendibile, quindi vorrei probabilmente evitare personalmente:
//note space added before {0}
Assert.Fail("Something is foo. {0}", message ?? "\b");
In questo caso si aggiunge lo spazio per la stringa di formato in sé, ma se message
è null, utilizziamo invece il carattere backspace per rimuovere lo spazio che conosciamo prima del messaggio.
ho ritenuto che. Mi piacerebbe avere un'opzione per usare {0}, {1}, {2} se necessario. Inoltre non è più leggibile di quello che ho già. –