Видимо, важно использовать Int32 вместо int, когда возиться с DLLImport?
В C#, когда возился с этим системным кодом DLLImport/(неуправляемым?), Я где-то читал, что важно использовать точный тип Int32 вместо int. Это правда? И кто-то может объяснить, почему это важно сделать?
2 ответа
Я думаю, что более вероятно, что вы читаете об использовании IntPtr
вместо int
, Как уже говорили другие, int
а также Int32
эквивалентны.
Это не проблема обмена int
а также IntPtr
в 32-битной системе, поскольку они имеют одинаковый размер (4 байта). Проблема возникает, когда на 64-битной системе - если вы используете int
вместо IntPtr
теперь он имеет неправильный размер (4 байта вместо 8 байтов) и может вызвать ошибки.
Я не верю, что это правда. int
это псевдоним для Int32
, Они означают одно и то же и будут скомпилированы в один и тот же IL.
Список псевдонимов можно найти здесь.