Esiste un modo per denigificare una stringa in C#?Esiste un modo per denigificare una stringa in C#?
Sarebbe l'equivalente di (se 'x' è una stringa):
string y = x == null ? "" : x;
Credo che spero ci sia qualche operatore che avrebbe funzionato qualcosa come:
string y = #x;
Wishful pensando, eh?
Il più vicino che ho finora è un metodo di estensione sulla classe stringa:
public static string ToNotNull(this string value)
{
return value == null ? "" : value;
}
che mi permette di fare:
string y = x.ToNotNull();
eventuali miglioramenti che, chiunque?
Evito stringhe nulle per evitare questo problema. Se qualcun altro sta creando le stringhe null, la violenza potrebbe essere necessaria. YMMV. – Greg
Il fatto che il tuo ultimo esempio funzioni è piuttosto spaventoso, dal momento che stai chiamando un metodo su un oggetto per verificare se l'oggetto è = null. So che è dovuto ai metodi di estensione che sono statici, ma è piuttosto sbagliato quando lo si guarda. – ntziolis
stringhe nulle sono malvagie, istanziate con String.Empty ed evitano la logica come sopra. –