Unsafe.SubtractByteOffset 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
SubtractByteOffset<T>(T, IntPtr) |
从给定的托管指针中减去字节偏移量。 |
SubtractByteOffset<T>(T, UIntPtr) |
从给定的托管指针中减去字节偏移量。 |
SubtractByteOffset<T>(T, IntPtr)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- 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
要减去的偏移量。
返回
一个新的托管指针,反映从源指针减去指定字节偏移量。
注解
参数 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)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- 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
要减去的偏移量。
返回
一个新的托管指针,反映从源指针减去指定字节偏移量。
- 属性
注解
参数 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
边界。