Etwas, das ich mehr und mehr mache, überprüft eine Zeichenfolge für leer (wie in ""
oder null) und einen bedingten Operator.?? Koaleszieren für leere Zeichenfolge?
Ein aktuelles Beispiel:
s.SiteNumber.IsNullOrEmpty() ? "No Number" : s.SiteNumber;
Dies ist nur eine Erweiterung Methode, es ist äquivalent zu:
string.IsNullOrEmpty(s.SiteNumber) ? "No Number" : s.SiteNumber;
Da es leer und nicht null, ??
den Trick nicht. Eine string.IsNullOrEmpty()
Version von ??
wäre die perfekte Lösung. Ich denke, dass es einen saubereren Weg geben muss (hoffe ich!), Aber ich war nicht in der Lage, es zu finden.
Kennt jemand eine bessere Möglichkeit, dies zu tun, auch wenn es nur in .Net 4.0 ist?
Um Sie ein wenig zu quälen, können Sie einfach benutzerdefinierte, ad-hoc binäre (und unäre, für diese Angelegenheit) Operatoren in F # definieren.Hier 'let (|?) X y = if String.IsNullOrEmpty (x) dann y else x' und benutze es wie 's.SiteNumber |? "Keine Nummer" '. –
Ich hoffe, dass Sie den Schnitt nicht stören. – gdoron