Unsafe.Subtract 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| Subtract<T>(Void*, Int32) |
從給定的未管理指標中減去一個偏移的元素。 |
| Subtract<T>(T, Int32) |
從給定的管理指標中減去一個偏移量。 |
| Subtract<T>(T, IntPtr) |
從給定的管理指標中減去一個偏移的元素。 |
| Subtract<T>(T, UIntPtr) |
從給定的管理指標中減去一個偏移的元素。 |
Subtract<T>(Void*, Int32)
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
重要
此 API 不符合 CLS 規範。
從給定的未管理指標中減去一個偏移的元素。
public:
generic <typename T>
static void* Subtract(void* source, int elementOffset);
[System.CLSCompliant(false)]
public static void* Subtract<T>(void* source, int elementOffset) where T : allows ref struct;
public static void* Subtract<T>(void* source, int elementOffset);
[System.CLSCompliant(false)]
public static void* Subtract<T>(void* source, int elementOffset);
[<System.CLSCompliant(false)>]
static member Subtract : nativeptr<unit> * int -> nativeptr<unit>
static member Subtract : nativeptr<unit> * int -> nativeptr<unit>
類型參數
- T
該類型大小將作為 的 elementOffset縮放因子。
參數
- source
- Void*
用來減去偏移量的未管理指標。
- elementOffset
- Int32
用來減去的偏移。
傳回
一個新的未管理指標,反映從來源指標中扣除指定偏移量的結果。
- 屬性
備註
參數elementOffset是要從指標移除source的 -大小元素(非位元組)數量T。 例如,給定一個來源指標 ptr,呼叫 Unsafe.Subtract<int>(ptr, 20) 會回傳一個新的指標,其位址在 ptr 之前指向 80 位元組(= 20 個元素 × 每個元素 4 個位元組)。
如果 elementOffset 是計算值而非硬編碼的字面值,呼叫者應考慮整數溢位的可能性。 例如,在呼叫 Unsafe.Subtract<int>(ptr, a * b)中,呼叫者必須確保中間值 a * b 不會超出 的 Int32範圍。
適用於
Subtract<T>(T, Int32)
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
從給定的管理指標中減去一個偏移量。
public:
generic <typename T>
static T % Subtract(T % source, int elementOffset);
public static ref T Subtract<T>(ref T source, int elementOffset) where T : allows ref struct;
public static ref T Subtract<T>(ref T source, int elementOffset);
static member Subtract : 'T * int -> 'T
Public Shared Function Subtract(Of T) (ByRef source As T, elementOffset As Integer) As T
類型參數
- T
管理指標的元素型態。
參數
- source
- T
管理指標用來減去偏移量。
- elementOffset
- Int32
用來減去的偏移。
傳回
一個新的管理指標,反映從來源指標中扣除指定偏移量的結果。
備註
參數 elementOffset 是 T從指標中扣除的 source -size 元素數(非位元組)。 例如,給定一個類型ref int為 的來源指標 ptr,呼叫Unsafe.Subtract<int>(ref ptr, 20)會回傳一個新的指標,其位址在 ptr 之前指向 80 位元組(= 20 個元素 × 每個元素 4 個位元組)。
如果 elementOffset 是計算值而非硬編碼的字面值,呼叫者應考慮整數溢位的可能性。 例如,在呼叫 Unsafe.Subtract<int>(ref ptr, a * b)中,呼叫者必須確保中間值 a * b 不會超出 的 Int32範圍。
適用於
Subtract<T>(T, IntPtr)
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
從給定的管理指標中減去一個偏移的元素。
public:
generic <typename T>
static T % Subtract(T % source, IntPtr elementOffset);
public static ref T Subtract<T>(ref T source, IntPtr elementOffset) where T : allows ref struct;
public static ref T Subtract<T>(ref T source, IntPtr elementOffset);
static member Subtract : 'T * nativeint -> 'T
Public Shared Function Subtract(Of T) (ByRef source As T, elementOffset As IntPtr) As T
類型參數
- T
管理指標的元素型態。
參數
- source
- T
管理指標用來減去偏移量。
- elementOffset
-
IntPtr
nativeint
用來減去的偏移。
傳回
一個新的管理指標,反映從來源指標中扣除指定偏移量的結果。
備註
參數 elementOffset 是 T從指標中扣除的 source -size 元素數(非位元組)。 例如,給定一個類型ref int為 的來源指標 ptr,呼叫Unsafe.Subtract<int>(ref ptr, (nint)20)會回傳一個新的指標,其位址在 ptr 之前指向 80 位元組(= 20 個元素 × 每個元素 4 個位元組)。
如果 elementOffset 是計算值而非硬編碼的字面值,呼叫者應考慮整數溢位的可能性。 例如,在呼叫 Unsafe.Subtract<int>(ref ptr, a * b)中,呼叫者必須確保中間值 a * b 不會超出 的 IntPtr範圍。
適用於
Subtract<T>(T, UIntPtr)
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
- 來源:
- Unsafe.cs
重要
此 API 不符合 CLS 規範。
從給定的管理指標中減去一個偏移的元素。
public:
generic <typename T>
static T % Subtract(T % source, UIntPtr elementOffset);
[System.CLSCompliant(false)]
public static ref T Subtract<T>(ref T source, UIntPtr elementOffset) where T : allows ref struct;
public static ref T Subtract<T>(ref T source, nuint elementOffset);
[System.CLSCompliant(false)]
public static ref T Subtract<T>(ref T source, UIntPtr elementOffset);
[<System.CLSCompliant(false)>]
static member Subtract : 'T * unativeint -> 'T
static member Subtract : 'T * unativeint -> 'T
Public Shared Function Subtract(Of T) (ByRef source As T, elementOffset As UIntPtr) As T
類型參數
- T
管理指標的元素型態。
參數
- source
- T
管理指標用來減去偏移量。
- elementOffset
-
UIntPtr
nuint
unativeint
用來減去的偏移。
傳回
一個新的管理指標,反映從來源指標中扣除指定偏移量的結果。
- 屬性
備註
參數 elementOffset 是 T從指標中扣除的 source -size 元素數(非位元組)。 例如,給定一個類型ref int為 的來源指標 ptr,呼叫Unsafe.Subtract<int>(ref ptr, (nuint)20)會回傳一個新的指標,其位址在 ptr 之前指向 80 位元組(= 20 個元素 × 每個元素 4 個位元組)。
如果 elementOffset 是計算值而非硬編碼的字面值,呼叫者應考慮整數溢位的可能性。 例如,在呼叫 Unsafe.Subtract<int>(ref ptr, a * b)中,呼叫者必須確保中間值 a * b 不會超出 的 UIntPtr範圍。