Operator as

Odpowiedz Nowy wątek
2019-03-14 19:47
0

int ? aa= o as int ?;
Mógłby ktoś mi wyjaśnić co robią te znaki zapytania. Wiem tylko że chodzi o coś z wartością null.
Z góry dzięki za odpowiedzi.

Pozostało 580 znaków

2019-03-14 19:56

int? to skrót na Nullable<int>, czyli oznacza to, że dana zmienna może przyjąć wartość null, ale nie musi.

Rzeczy które są nullable mają właściwości .HasValue oraz .Value, a dodatkowo nierzadko w ich kontekście używa się operatora ?? np. tak:

int? aa = null as int?;
var c = aa ?? 1;

as jest podobny do casta, ale jeżeli cast jest niemożliwy, to wynikiem jest null zamiast wyjątku. as wymaga, aby typ tego, co otrzyma wartość po as mógł być nullem.

Chociaż tu raczej odsyłam do:

https://stackoverflow.com/que[...]sharp-as-cast-vs-classic-cast

edytowany 12x, ostatnio: WeiXiao, 2019-03-15 00:50
Napisałeś zmienna może być nullem - wiem że to taki skrót myślowy ale lepiej brzmi że zmienna typu int? może przyjąć wartość null - Zimny Krawiec 2019-03-14 23:58

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0