Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
04.06.2019, 16:05
|
|||
---|---|---|---|
|
|||
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
В переменной типа Object value могут хранится разные типы. Я проверяю другое свойство и соответственно трактую значение в нужный тип. Что то не могу понять по ошибке Код: c# 1. 2. 3.
System.InvalidCastException: 'Unable to cast object of type 'System.Int32' to type 'System.Int64'.' Причем в объекте вообще хранится 1. Какого ? С какой стати нельзя привести тип меньшего размера к большему ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2019, 16:10
|
|||
---|---|---|---|
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2019, 16:22
|
|||
---|---|---|---|
|
|||
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
Спасибо. Нашел решение подобной проблемы через класс Convert.ToInt64. Сейчас все ок. Просто ошибка очень странная :) Типа я не могу положить ваш спичечный коробок в грузовик, извините. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2019, 16:22
|
|||
---|---|---|---|
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
просто присвоить, преобразование выше даёт ошибку Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2019, 16:30
|
|||
---|---|---|---|
|
|||
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
Но вот почему выдает ошибку то ? Вот что странно ! Тут даже unchecked не нужен, какие тут вообще могут быть проблемы, что фреймворк ругается. Причем я бы еще понял, если бы как раз ошибка была при присваивании, но я то явно приведение делаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2019, 17:32
|
|||
---|---|---|---|
|
|||
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
WaspNewCoreНо вот почему выдает ошибку то ? Вот что странно ! Тут даже unchecked не нужен, какие тут вообще могут быть проблемы, что фреймворк ругается. Причем я бы еще понял, если бы как раз ошибка была при присваивании, но я то явно приведение делаю. проверил тот же код у себя - ошибки нет, преобразовывает ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2019, 17:34
|
|||
---|---|---|---|
|
|||
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
Ролг ХупинWaspNewCoreНо вот почему выдает ошибку то ? Вот что странно ! Тут даже unchecked не нужен, какие тут вообще могут быть проблемы, что фреймворк ругается. Причем я бы еще понял, если бы как раз ошибка была при присваивании, но я то явно приведение делаю. проверил тот же код у себя - ошибки нет, преобразовывает Ошибся, та же ошибка на коде Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2019, 19:28
|
|||
---|---|---|---|
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
WaspNewCoreНо вот почему выдает ошибку то ?потому что long? и long это разные типы. компилятор не может определиться, какой тип должен быть у temp1. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2019, 20:43
|
|||
---|---|---|---|
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
Antonariy, разве? Была бы ошибка компиляции... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2019, 21:20
|
|||
---|---|---|---|
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
Ролг Хупин Код: c# 1.
присваиваем val значение 1 типа Int32 (по умолчанию целые числа все int) теперь val хранит ссылку на объект в куче типа Int32 Ролг Хупин Код: c# 1.
пытаемся привести ссылку на объект в куче к типу Int64. не преобразовать, а привести к типу. это неправильно. сначала надо привести к правильному типу, потом преобразовывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2019, 21:22
|
|||
---|---|---|---|
|
|||
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
Antonariy, нет, nullable тут вообще не причем Код: c# 1. 2.
этот код выдает ту же ошибку. Implicit-преобразование тут не канает, потому что нет implicit для object=>long ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.06.2019, 21:23
|
|||
---|---|---|---|
|
|||
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
Shocker.ProAntonariy, нет, nullable тут вообще не причем Код: c# 1. 2.
этот код выдает ту же ошибку. Implicit-преобразование тут не канает, потому что нет implicit для object=>longа вот так всё будет ок - сначала распаковываем, потом преобразовываем Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.06.2019, 06:24
|
|||
---|---|---|---|
|
|||
Unable to cast object of type 'System.Int32' to type 'System.Int64'. Что за ерунда ? |
|||
#18+
При приведении ссылочного типа к значимому будет анбоксинг с одновременным приведением типа и без конвертации, как уже писали выше. В IL-коде в этом месте будет инструкция unbox.any [mscorlib]System.Int64. Jeffrey Richter, CLR via C#, Chapter 5Internally, here’s exactly what happens when a boxed value type instance is unboxed: 1. If the variable containing the reference to the boxed value type instance is null, a NullReferenceException is thrown. 2. If the reference doesn’t refer to an object that is a boxed instance of the desired value type, an InvalidCastException is thrown. The second item above means that the following code will not work as you might expect: Код: c# 1. 2. 3. 4. 5.
Logically, it makes sense to take the boxed Int32 that o refers to and cast it to an Int16. However, when unboxing an object, the cast must be to the exact unboxed value type—Int32 in this case. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1398915]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
130ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 233ms |
0 / 0 |