Это очень простой вопрос - преобразовать переменную типа long в тип Nullable int (int?). (см. пример ниже, а не действительный код)Невозможно неявно преобразовать тип 'long' в "int?"?
int? y = 100;
long x = long.MaxValue;
y = x;
Я получаю ошибку времени компиляции.
«Не удается неявно преобразовать тип„длинный“до„межд?“. Явное преобразование существует (вы пропали без вести броска?).
У меня есть исправление (смотрите ниже раздел раствора), мое любопытство в проводке вопрос имеет 3 решения, которые один рекомендуется?
Решение
y = Convert.ToInt32(x);
y = (int)x;
y = unchecked((int) x);
заранее спасибо за ваши предложения
Вы знаете, почему компилятор жалуется на это? Он пытается вам помочь. –
David - Я полностью осведомлен о потере точности (теряя значение), мой вопрос был о 3, который рекомендуется (выше всего лишь пример) –
Какой из них рекомендуется, зависит от ваших требований. – phoog