Unsafe.AddByteOffset 方法

定义

重载

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

要增加的偏移量。

返回

T

一个新的托管指针,反映向源指针添加指定的字节偏移量。

注解

参数 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

要增加的偏移量。

返回

T

一个新的托管指针,反映向源指针添加指定的字节偏移量。

属性

注解

参数 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边界。

适用于