次の方法で共有


UIntPtr.Addition(UIntPtr, Int32) Operator

定義

符号なし整数にオフセットを追加します。

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 呼び出すことができます。

結果が大きすぎて実行中のプロセスで符号なし整数として表されない場合、加算操作は例外をスローしません。 代わりに、オフのコンテキストで実行されます。

バージョン 11 以降の C# では、.NET 7 以降のランタイムを対象とする場合、この API にはリフレクション経由でのみアクセスできます。 加算演算子は言語によって直接認識され、結果が大きすぎるとコンテキストで checked オーバーフローするなど、追加操作の通常の言語動作に従います。

この演算子の同等のメソッドは です UIntPtr.Add(UIntPtr, Int32)

適用対象

こちらもご覧ください