Unsafe.Add メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
Add<T>(Void*, Int32) |
指定されたアンマネージ ポインターに要素オフセットを追加します。 |
Add<T>(T, Int32) |
指定されたマネージド ポインターにオフセットを追加します。 |
Add<T>(T, IntPtr) |
指定されたマネージド ポインターに要素オフセットを追加します。 |
Add<T>(T, UIntPtr) |
指定されたマネージド ポインターに要素オフセットを追加します。 |
Add<T>(Void*, Int32)
- ソース:
- Unsafe.cs
- ソース:
- Unsafe.cs
- ソース:
- Unsafe.cs
重要
この API は CLS 準拠ではありません。
指定されたアンマネージ ポインターに要素オフセットを追加します。
public:
generic <typename T>
static void* Add(void* source, int elementOffset);
public static void* Add<T> (void* source, int elementOffset);
[System.CLSCompliant(false)]
public static void* Add<T> (void* source, int elementOffset);
static member Add : nativeptr<unit> * int -> nativeptr<unit>
[<System.CLSCompliant(false)>]
static member Add : nativeptr<unit> * int -> nativeptr<unit>
型パラメーター
- T
のスケール ファクター elementOffset
として使用されるサイズの型。
パラメーター
- source
- Void*
オフセットを追加するアンマネージド ポインター。
- elementOffset
- Int32
加算するオフセット。
戻り値
指定したオフセットのソース ポインターへの追加を反映する新しいアンマネージド ポインター。
- 属性
注釈
パラメーターはelementOffset
、ポインターに追加source
するサイズの要素のT
数 (バイト数ではありません) です。 たとえば、ソース ポインター ptr を指定すると、この呼び出し Unsafe.Add<int>(ptr, 20)
は ptr を超える 80 バイト (= 20 要素 * 要素あたり 4 バイト) を指す新しいポインター を返します。
がハードコーディングされたリテラルではなく計算値である場合 elementOffset
、呼び出し元は整数オーバーフローの可能性を考慮する必要があります。 たとえば、 呼び出しでは、呼び出 Unsafe.Add<int>(ptr, a * b)
し元は中間値 a * b
が の Int32
境界をオーバーフローしないようにする必要があります。
適用対象
Add<T>(T, Int32)
- ソース:
- Unsafe.cs
- ソース:
- Unsafe.cs
- ソース:
- Unsafe.cs
指定されたマネージド ポインターにオフセットを追加します。
public:
generic <typename T>
static T % Add(T % source, int elementOffset);
public static ref T Add<T> (ref T source, int elementOffset);
static member Add : 'T * int -> 'T
Public Shared Function Add(Of T) (ByRef source As T, elementOffset As Integer) As T
型パラメーター
- T
マネージド ポインターの要素型。
パラメーター
- source
- T
オフセットを追加するマネージド ポインター。
- elementOffset
- Int32
加算するオフセット。
戻り値
指定したオフセットのソース ポインターへの追加を反映する新しいマネージド ポインター。
注釈
パラメーターはelementOffset
、ポインターに追加source
するサイズの要素のT
数 (バイト数ではありません) です。 たとえば、 型ref int
のソース ポインター ptr を指定すると、呼び出しUnsafe.Add<int>(ref ptr, 20)
は ptr を超える 80 バイト (= 20 要素 * 要素あたり 4 バイト) を指す新しいポインターを返します。
がハードコーディングされたリテラルではなく計算値である場合 elementOffset
、呼び出し元は整数オーバーフローの可能性を考慮する必要があります。 たとえば、 呼び出しでは、呼び出 Unsafe.Add<int>(ref ptr, a * b)
し元は中間値 a * b
が の Int32
境界をオーバーフローしないようにする必要があります。
適用対象
Add<T>(T, IntPtr)
- ソース:
- Unsafe.cs
- ソース:
- Unsafe.cs
- ソース:
- Unsafe.cs
指定されたマネージド ポインターに要素オフセットを追加します。
public:
generic <typename T>
static T % Add(T % source, IntPtr elementOffset);
public static ref T Add<T> (ref T source, IntPtr elementOffset);
static member Add : 'T * nativeint -> 'T
Public Shared Function Add(Of T) (ByRef source As T, elementOffset As IntPtr) As T
型パラメーター
- T
マネージド ポインターの要素型。
パラメーター
- source
- T
オフセットを追加するマネージド ポインター。
- elementOffset
-
IntPtr
nativeint
加算するオフセット。
戻り値
指定したオフセットのソース ポインターへの追加を反映する新しいマネージド ポインター。
注釈
パラメーターはelementOffset
、ポインターに追加source
するサイズの要素のT
数 (バイト数ではありません) です。 たとえば、 型ref int
のソース ポインター ptr を指定すると、呼び出しUnsafe.Add<int>(ref ptr, (nint)20)
は ptr を超える 80 バイト (= 20 要素 * 要素あたり 4 バイト) を指す新しいポインターを返します。
がハードコーディングされたリテラルではなく計算値である場合 elementOffset
、呼び出し元は整数オーバーフローの可能性を考慮する必要があります。 たとえば、 呼び出しでは、呼び出 Unsafe.Add<int>(ref ptr, a * b)
し元は中間値 a * b
が の IntPtr
境界をオーバーフローしないようにする必要があります。
適用対象
Add<T>(T, UIntPtr)
- ソース:
- Unsafe.cs
- ソース:
- Unsafe.cs
- ソース:
- Unsafe.cs
重要
この API は CLS 準拠ではありません。
指定されたマネージド ポインターに要素オフセットを追加します。
public:
generic <typename T>
static T % Add(T % source, UIntPtr elementOffset);
public static ref T Add<T> (ref T source, nuint elementOffset);
[System.CLSCompliant(false)]
public static ref T Add<T> (ref T source, UIntPtr elementOffset);
static member Add : 'T * unativeint -> 'T
[<System.CLSCompliant(false)>]
static member Add : 'T * unativeint -> 'T
Public Shared Function Add(Of T) (ByRef source As T, elementOffset As UIntPtr) As T
型パラメーター
- T
マネージド ポインターの要素型。
パラメーター
- source
- T
オフセットを追加するマネージド ポインター。
- elementOffset
-
UIntPtr
nuint
unativeint
加算するオフセット。
戻り値
指定したオフセットのソース ポインターへの追加を反映する新しいマネージド ポインター。
- 属性
注釈
パラメーターはelementOffset
、ポインターに追加source
するサイズの要素のT
数 (バイト数ではありません) です。 たとえば、 型ref int
のソース ポインター ptr を指定すると、呼び出しUnsafe.Add<int>(ref ptr, (nuint)20)
は ptr を超える 80 バイト (= 20 要素 * 要素あたり 4 バイト) を指す新しいポインターを返します。
がハードコーディングされたリテラルではなく計算値である場合 elementOffset
、呼び出し元は整数オーバーフローの可能性を考慮する必要があります。 たとえば、 呼び出しでは、呼び出 Unsafe.Add<int>(ref ptr, a * b)
し元は中間値 a * b
が の UIntPtr
境界をオーバーフローしないようにする必要があります。
適用対象
.NET