Coś, co robię coraz częściej, to sprawdzanie ciągu znaków pod kątem pustego (jak in ""
lub null) i operatora warunkowego.
Aktualny przykład:
s.SiteNumber.IsNullOrEmpty() ? "No Number" : s.SiteNumber;
To jest tylko metoda rozszerzenia, jest odpowiednikiem:
string.IsNullOrEmpty(s.SiteNumber) ? "No Number" : s.SiteNumber;
Ponieważ jest pusty i nie jest pusty, ??
nie załatwi sprawy. string.IsNullOrEmpty()
Wersja ??
byłoby idealnym rozwiązaniem. Myślę, że musi być na to czystszy sposób (mam nadzieję!), Ale nie mogłem go znaleźć.
Czy ktoś zna lepszy sposób na zrobienie tego, nawet jeśli jest to tylko w .Net 4.0?
let (|?) x y = if String.IsNullOrEmpty(x) then y else x
i używaj go jaks.SiteNumber |? "No Number"
.