Unsafe.SubtractByteOffset メソッド

定義

オーバーロード

SubtractByteOffset<T>(T, IntPtr)

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

SubtractByteOffset<T>(T, UIntPtr)

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

SubtractByteOffset<T>(T, IntPtr)

ソース:
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);
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 * b が の IntPtr境界をオーバーフローしないようにする必要があります。

適用対象

SubtractByteOffset<T>(T, UIntPtr)

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

重要

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

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

public:
generic <typename T>
 static T % SubtractByteOffset(T % source, UIntPtr byteOffset);
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);
static member SubtractByteOffset : 'T * unativeint -> 'T
[<System.CLSCompliant(false)>]
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 * b が の UIntPtr境界をオーバーフローしないようにする必要があります。

適用対象