C# – jak używać nullable i parsować je do typów prostych

Typy nullable to bardzo sympatyczne zwierzęta. Poza klasycznymi wartościami umożliwiają przypisanie zmiennym prostym niedozwolonej dla nich wartości null – zupełnie jak dla typów referencyjnych.

Do czego można tego użyć? Pierwsza moja styczność z nullable miała miejsce w zamierzchłych czasach studenckich praktyk. Używałam wtedy nullable do przechowywania wartości z pól w formatce (we współpracy z TryParse). Niedawno natomiast zastosowałam nullable int w liście argumentów do metody – użytkownik ma możliwość pominięcia niektórych wartości (wstawienie -1 czy 0 nie rozwiązywało sprawy, gdyż były to również wartości znaczące).

Jak zachowują się takie nullable w prawdziwym życiu? Jak najprościej skonwertować je do typu prostego?

Proste demo – dzięki zastosowaniu default nie ma konieczności używania Parse ani TryParse:

var nullables = new List<int?> {null, -1, 0, 1};
foreach (var nullable in nullables)
{
  var intable = nullable ?? default(int);//magiczna linia
  Console.WriteLine("{0} \t-> {1}", nullable, intable);
}

Oraz wynik:
null -> 0
-1 -> -1
0  -> 0
1  -> 1

Przydatny wpis? Postaw mi kawę :)

Dodaj komentarz

avatar
  Subscribe  
Powiadom o