Unsafe.SubtractByteOffset メソッド

定義

オーバーロード

名前 説明
SubtractByteOffset<T>(T, IntPtr)

指定されたマネージド ポインターからバイト オフセットを減算します。

SubtractByteOffset<T>(T, UIntPtr)

指定されたマネージド ポインターからバイト オフセットを減算します。

SubtractByteOffset<T>(T, IntPtr)

ソース:
Unsafe.cs
ソース:
Unsafe.cs
ソース:
Unsafe.cs
ソース:
Unsafe.cs
ソース:
Unsafe.cs

指定されたマネージド ポインターからバイト オフセットを減算します。

public:
generic <typename T>
 static T % SubtractByteOffset(T % source, IntPtr byteOffset);
public static ref T SubtractByteOffset<T>(ref T source, IntPtr byteOffset) where T : allows ref struct;
public static ref T SubtractByteOffset<T>(ref T source, IntPtr byteOffset);
static member SubtractByteOffset : 'T * nativeint -> 'T
Public Shared Function SubtractByteOffset(Of T) (ByRef source As T, byteOffset As IntPtr) As T

型パラメーター

T

マネージド ポインターの要素型。

パラメーター

source
T

オフセットを減算するマネージド ポインター。

byteOffset
IntPtr

nativeint

減算するオフセット。

返品

T

ソース ポインターからの指定したバイト オフセットの減算を反映する新しいマネージド ポインター。

注釈

byteOffset パラメーターは、source ポインターから削除するバイト数です。 たとえば、ref int型のソース ポインター ptr を指定すると、Unsafe.SubtractByteOffset<int>(ref ptr, 20)呼び出しは、アドレスが ptr の 20 バイト前を指す新しいポインターを返します。

byteOffsetがハードコーディングされたリテラルではなく計算値である場合、呼び出し元は整数オーバーフローの可能性を考慮する必要があります。 たとえば、呼び出しUnsafe.SubtractByteOffset<int>(ref ptr, a * b)では、呼び出し元は中間値a * bIntPtrの境界をオーバーフローしないようにする必要があります。

適用対象

SubtractByteOffset<T>(T, UIntPtr)

ソース:
Unsafe.cs
ソース:
Unsafe.cs
ソース:
Unsafe.cs
ソース:
Unsafe.cs
ソース:
Unsafe.cs

重要

この API は CLS 準拠ではありません。

指定されたマネージド ポインターからバイト オフセットを減算します。

public:
generic <typename T>
 static T % SubtractByteOffset(T % source, UIntPtr byteOffset);
[System.CLSCompliant(false)]
public static ref T SubtractByteOffset<T>(ref T source, UIntPtr byteOffset) where T : allows ref struct;
public static ref T SubtractByteOffset<T>(ref T source, nuint byteOffset);
[System.CLSCompliant(false)]
public static ref T SubtractByteOffset<T>(ref T source, UIntPtr byteOffset);
[<System.CLSCompliant(false)>]
static member SubtractByteOffset : 'T * unativeint -> 'T
static member SubtractByteOffset : 'T * unativeint -> 'T
Public Shared Function SubtractByteOffset(Of T) (ByRef source As T, byteOffset As UIntPtr) As T

型パラメーター

T

マネージド ポインターの要素型。

パラメーター

source
T

オフセットを減算するマネージド ポインター。

byteOffset
UIntPtr

nuint

unativeint

減算するオフセット。

返品

T

ソース ポインターからの指定したバイト オフセットの減算を反映する新しいマネージド ポインター。

属性

注釈

byteOffset パラメーターは、source ポインターから減算するバイト数です。 たとえば、ref int型のソース ポインター ptr を指定すると、Unsafe.SubtractByteOffset<int>(ref ptr, (nuint)20)呼び出しは、アドレスが ptr の 20 バイト前を指す新しいポインターを返します。

byteOffsetがハードコーディングされたリテラルではなく計算値である場合、呼び出し元は整数オーバーフローの可能性を考慮する必要があります。 たとえば、呼び出しUnsafe.SubtractByteOffset<int>(ref ptr, a * b)では、呼び出し元は中間値a * bUIntPtrの境界をオーバーフローしないようにする必要があります。

適用対象