UIntPtr.Addition(UIntPtr, Int32) Operatör
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İş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
unativeint
öğesinin eklenmesini offset
pointer
yansı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).