Unsafe.AddByteOffset Метод

Определение

Перегрузки

Имя Описание
AddByteOffset<T>(T, IntPtr)

Добавляет смещение байтов в заданный управляемый указатель.

AddByteOffset<T>(T, UIntPtr)

Добавляет смещение байтов в заданный управляемый указатель.

AddByteOffset<T>(T, IntPtr)

Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs

Добавляет смещение байтов в заданный управляемый указатель.

public:
generic <typename T>
 static T % AddByteOffset(T % source, IntPtr byteOffset);
public static ref T AddByteOffset<T>(ref T source, IntPtr byteOffset) where T : allows ref struct;
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источника вызов Unsafe.AddByteOffset<int>(ref ptr, 20) вернет новый указатель, адрес которого 20 байтов за пределами ptr.

Если byteOffset вычисляемое значение, а не жестко закодированный литерал, вызывающие должны рассмотреть возможность переполнения целых чисел. Например, в вызове Unsafe.AddByteOffset<int>(ref ptr, a * b)вызывающий объект должен убедиться, что промежуточное значение a * b не переполняет границы IntPtr.

Применяется к

AddByteOffset<T>(T, UIntPtr)

Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs
Исходный код:
Unsafe.cs

Важно!

Этот API несовместим с CLS.

Добавляет смещение байтов в заданный управляемый указатель.

public:
generic <typename T>
 static T % AddByteOffset(T % source, UIntPtr byteOffset);
[System.CLSCompliant(false)]
public static ref T AddByteOffset<T>(ref T source, UIntPtr byteOffset) where T : allows ref struct;
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);
[<System.CLSCompliant(false)>]
static member AddByteOffset : 'T * unativeint -> 'T
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источника вызов Unsafe.AddByteOffset<int>(ref ptr, (nuint)20) вернет новый указатель, адрес которого 20 байтов за пределами ptr.

Если byteOffset вычисляемое значение, а не жестко закодированный литерал, вызывающие должны рассмотреть возможность переполнения целых чисел. Например, в вызове Unsafe.AddByteOffset<int>(ref ptr, a * b)вызывающий объект должен убедиться, что промежуточное значение a * b не переполняет границы UIntPtr.

Применяется к