Страницы

Поиск по вопросам

пятница, 19 октября 2018 г.

Конвертирование из object в long

Что я делаю не так:
object j = 149800000; long h = (long)j;
Нужно из object конвертировать в long, в примере выше выходит необработанное исключение типа System.InvalidCastException
Заданное приведение является недопустимым.
Если же в переменную j присвоить большое значение а-ля
object j = 111114082411778; long h = (long)j;
то всё нормально. Также при простом присвоении переменной типа long маленького значения тоже все нормально. Я бы и использовал простой Int32, но вот значения у меня могут быть как маленькие, так и большие, и приходят они в object


Ответ

Нужно в конец добавить суффикс L, так как 149800000 компилятор воспринимает как int
object j = 149800000L; long h = (long)j;
можно еще так
object j = 149800000; long h = (long)(int)j;

Комментариев нет:

Отправить комментарий