Существует неявное преобразование:
int nonNullable = 5;
int? nullable = nonNullable;
(Это дано в разделе 6.1.4 спецификации C #.)
Обратная операция, конечно, небезопасна, поскольку допускает обнуляемостьзначение может быть нулевым.Существует явное преобразование, или вы можете использовать свойство Value
:
int? nullable = new int?(5); // Just to be clear :)
// These are equivalent
int nonNullable1 = (int) nullable;
int nonNullable2 = nullable.Value;