Czuje się dziwnie mi się odlew null typu więc chciałem, aby dokładnie sprawdzić, że jest to dobry sposób, żeby to zrobić:Czy można poprawnie rzutować wartość null na null przy użyciu potrójnego wyrażenia przypisującego typ null?
decimal? d = data.isSpecified ? data.Value : (decimal?)null;
UWAGA: ja zaznaczam odpowiedź, która sugeruje metodę, którą ja osobiście najbardziej lubię:
decimal? d = data.isSpecified ? data.Value : default(decimal?)
Nie powinieneś potrzebować obsady. 'decimal?' zaakceptuje wartość zerową bezpośrednio. –
dodano zrzut ekranu do wglądu. –
@Robert Harvey, masz rację, że 'decimal?' Zaakceptuje wartość null, ale kompilator musi być w stanie określić typ zwrotny potrójnego wyrażenia, który może zrobić tylko wtedy, gdy null zostanie ustawiony na "decimal?". –