次の方法で共有


Unsafe.AddByteOffset メソッド

定義

オーバーロード

AddByteOffset<T>(T, IntPtr)

指定されたマネージド ポインターにバイト オフセットを追加します。

AddByteOffset<T>(T, UIntPtr)

指定されたマネージド ポインターにバイト オフセットを追加します。

AddByteOffset<T>(T, IntPtr)

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

指定されたマネージド ポインターにバイト オフセットを追加します。

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

型パラメーター

T

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

パラメーター

source
T

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

byteOffset
IntPtr

nativeint

加算するオフセット。

戻り値

T

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

注釈

パラメーターは byteOffset 、ポインターに追加するバイト数です source 。 たとえば、 型ref intのソース ポインター ptr を指定すると、ptr を超える 20 バイトのアドレスを持つ新しいポインターが呼び出しUnsafe.AddByteOffset<int>(ref ptr, 20)によって返されます。

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

適用対象

AddByteOffset<T>(T, UIntPtr)

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

重要

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

指定されたマネージド ポインターにバイト オフセットを追加します。

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

型パラメーター

T

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

パラメーター

source
T

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

byteOffset
UIntPtr

nuint

unativeint

加算するオフセット。

戻り値

T

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

属性

注釈

パラメーターは byteOffset 、ポインターに追加するバイト数です source 。 たとえば、 型ref intのソース ポインター ptr を指定すると、ptr を超える 20 バイトのアドレスを持つ新しいポインターが呼び出しUnsafe.AddByteOffset<int>(ref ptr, (nuint)20)によって返されます。

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

適用対象