C#でIntPtrを使用して値を取得する方法は何ですか?
C#では、IntPtrを使用して値を取得する方法が次のようにあります:
- IntPtrの値を32ビットの有符号整数に変換するにはToInt32メソッドを使用します。
IntPtr ptr = new IntPtr(123);
int value = ptr.ToInt32();
- IntPtr値を64ビットの符号付き整数に変換するにはToInt64メソッドを使用します。
IntPtr ptr = new IntPtr(123);
long value = ptr.ToInt64();
- IntPtr値をポインター型に変換するためにToPointerメソッドを使用します。
IntPtr ptr = new IntPtr(123);
int* value = (int*)ptr.ToPointer();
ToPointerメソッドを使用する際は注意が必要です。ポインタ型に変換すると、不安全なコードが発生する可能性がありますので、慎重に操作する必要があります。