Unsafe.SubtractByteOffset Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
SubtractByteOffset<T>(T, IntPtr) |
Вычитает смещение байтов из заданного управляемого указателя. |
SubtractByteOffset<T>(T, UIntPtr) |
Вычитает смещение байтов из заданного управляемого указателя. |
SubtractByteOffset<T>(T, IntPtr)
- Исходный код:
- Unsafe.cs
- Исходный код:
- Unsafe.cs
- Исходный код:
- 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
. Например, при использовании исходного указателя ptr типа ref int
вызов Unsafe.SubtractByteOffset<int>(ref ptr, 20)
вернет новый указатель, адрес которого указывает на 20 байтов до ptr.
Если byteOffset
является вычисляемым значением, а не жестко заданным литералом, вызывающим абонентам следует учитывать возможность переполнения целых чисел. Например, в вызове Unsafe.SubtractByteOffset<int>(ref ptr, a * b)
вызывающий объект должен убедиться, что промежуточное значение a * b
не переполняет границы IntPtr
.
Применяется к
SubtractByteOffset<T>(T, UIntPtr)
- Исходный код:
- Unsafe.cs
- Исходный код:
- Unsafe.cs
- Исходный код:
- 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
. Например, при использовании исходного указателя ptr типа ref int
вызов Unsafe.SubtractByteOffset<int>(ref ptr, (nuint)20)
вернет новый указатель, адрес которого указывает на 20 байтов до ptr.
Если byteOffset
является вычисляемым значением, а не жестко заданным литералом, вызывающим абонентам следует учитывать возможность переполнения целых чисел. Например, в вызове Unsafe.SubtractByteOffset<int>(ref ptr, a * b)
вызывающий объект должен убедиться, что промежуточное значение a * b
не переполняет границы UIntPtr
.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по