Как можно преобразовать объект UIntPtr в IntPtr в C #?
======================================================

Мне нужно конвертировать`UIntPtr` возражать против этого из`IntPtr` в моем приложении C # .NET 2.0. Как это можно сделать? Я не думаю, что это так просто:

Это должно работать на x86 и x64



То есть, превратить UIntPtr в uint, превратить его в int, а затем превратить в IntPtr.

Хорошие шансы, что джиттер оптимизирует все преобразования и просто превратит это в прямое присвоение одного значения другому, но на самом деле я этого не проверял.

См. Ответ Джареда о решении, которое работает в 64-битных операционных системах.



```
UIntPtr \_myUIntPtr = /* Some initializer value. */ 
void* ptr = \_myUIntPtr.ToPointer();
IntPtr \_myIntPtr = new IntPtr(ptr);

```