Как конфертировать из int в int ?, в C #? - PullRequest
4 голосов
/ 15 февраля 2012

У меня есть int Я хочу сохранить как int? Возможно ли это, и если да, то как?

Ответы [ 2 ]

20 голосов
/ 15 февраля 2012

Существует неявное преобразование:

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;
2 голосов
/ 15 февраля 2012

Это происходит автоматически. Допустим, у вас есть следующий int

int myInt = 5;

Тогда вы можете без проблем написать следующее:

int? myNullableInt = myInt;
...