Unsafe.AddByteOffset 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
AddByteOffset<T>(T, IntPtr) |
向给定的托管指针添加字节偏移量。 |
AddByteOffset<T>(T, UIntPtr) |
向给定的托管指针添加字节偏移量。 |
AddByteOffset<T>(T, IntPtr)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- 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
要增加的偏移量。
返回
一个新的托管指针,反映向源指针添加指定的字节偏移量。
注解
参数 byteOffset
是要添加到指针的 source
字节数。 例如,给定类型 ref int
为 的源指针 ptr,调用Unsafe.AddByteOffset<int>(ref ptr, 20)
将返回一个新指针,该指针的地址点超过 ptr 20 个字节。
如果 byteOffset
是计算值而不是硬编码文本,则调用方应考虑整数溢出的可能性。 例如,在调用 Unsafe.AddByteOffset<int>(ref ptr, a * b)
中,调用方必须确保中间值 a * b
不会溢出 的 IntPtr
边界。
适用于
AddByteOffset<T>(T, UIntPtr)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- 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
要增加的偏移量。
返回
一个新的托管指针,反映向源指针添加指定的字节偏移量。
- 属性
注解
参数 byteOffset
是要添加到指针的 source
字节数。 例如,给定类型 ref int
为 的源指针 ptr,调用Unsafe.AddByteOffset<int>(ref ptr, (nuint)20)
将返回一个新指针,该指针的地址点超过 ptr 20 个字节。
如果 byteOffset
是计算值而不是硬编码文本,则调用方应考虑整数溢出的可能性。 例如,在调用 Unsafe.AddByteOffset<int>(ref ptr, a * b)
中,调用方必须确保中间值 a * b
不会溢出 的 UIntPtr
边界。