UIntPtr.Addition(UIntPtr, Int32) Оператор

Определение

Добавляет смещение в целое число без знака.

public:
 static UIntPtr operator +(UIntPtr pointer, int offset);
public static UIntPtr operator +(UIntPtr pointer, int offset);
static member ( + ) : unativeint * int -> unativeint
Public Shared Operator + (pointer As UIntPtr, offset As Integer) As UIntPtr

Параметры

pointer
UIntPtr

unativeint

Целое число без знака для добавления смещения.

offset
Int32

Смещение для добавления.

Возвращаемое значение

UIntPtr

unativeint

Новое целое число без знака, которое отражает добавление offsetpointerв .

Комментарии

Метод Addition определяет операцию сложения для UIntPtr объектов. Он включает код, например следующий.

int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
UIntPtr ptr = (UIntPtr) arr[0];
for (int ctr = 0; ctr < arr.Length; ctr++)
{
   UIntPtr newPtr = ptr + ctr;
   Console.WriteLine(newPtr);
}
let arr = [| 1; 2; 3; 4; 5; 6; 7; 8; 9; 10 |]
let ptr = UIntPtr(uint arr[0])
for i = 0 to arr.Length - 1 do
    let newPtr = ptr + UIntPtr(uint i)
    printfn $"{newPtr}"
Dim arr() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
Dim ptr = CType(arr(0), UIntPtr)
For ctr As Integer = 0 To arr.Length - 1
   Dim newPtr As UIntPtr = ptr + ctr
   Console.WriteLine(newPtr)
Next

Языки, которые не поддерживают пользовательские операторы, могут Add вызывать метод.

Операция сложения не создает исключение, если результат слишком велик, чтобы представить как целое число без знака в процессе выполнения. Вместо этого она выполняется в незаверяемом контексте.

В C# начиная с версии 11 и при целевой среде выполнения .NET 7 или более поздней, этот API доступен только через отражение. Оператор добавления напрямую распознается языком и будет соответствовать нормальному поведению языка для операций сложения, включая переполнение в checked контексте, если результат слишком велик для представления.

Эквивалентный метод для этого оператора.UIntPtr.Add(UIntPtr, Int32)

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

См. также раздел