UIntPtr.Addition(UIntPtr, Int32) Operatör

Tanım

İşaretsiz bir tamsayıya uzaklık ekler.

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

Parametreler

pointer
UIntPtr

unativeint

Uzaklık eklenecek işaretsiz tamsayı.

offset
Int32

Eklenecek uzaklık.

Döndürülenler

UIntPtr

unativeint

öğesinin eklenmesini offsetpointeryansıtan yeni bir işaretsiz tamsayı.

Açıklamalar

Addition yöntemi, nesneler için UIntPtr toplama işlemini tanımlar. Aşağıdaki gibi kodu etkinleştirir.

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

Özel işleçleri desteklemeyen diller bunun yerine yöntemini çağırabilir Add .

Sonuç, yürütme işleminde işaretsiz bir tamsayı olarak temsil edilemeyecek kadar büyükse toplama işlemi özel durum oluşturmaz. Bunun yerine, denetlenmeyen bir bağlamda gerçekleştirilir.

C# dilinde sürüm 11'den başlayarak ve .NET 7 veya üzeri çalışma zamanını hedeflerken bu API'ye yalnızca yansıma üzerinden erişilebilir. Ekleme işleci doğrudan dil tarafından tanınır ve sonuç temsil etmek için çok büyükse bir checked bağlamda taşma da dahil olmak üzere toplama işlemleri için normal dil davranışını izler.

Bu işlecin eşdeğer yöntemidir UIntPtr.Add(UIntPtr, Int32).

Şunlara uygulanır

Ayrıca bkz.