Bagikan melalui


Unsafe.Subtract Metode

Definisi

Overload

Subtract<T>(Void*, Int32)

Mengurangi offset elemen dari penunjuk tidak terkelola yang diberikan.

Subtract<T>(T, Int32)

Mengurangi offset dari pointer terkelola yang diberikan.

Subtract<T>(T, IntPtr)

Mengurangi offset elemen dari penunjuk terkelola yang diberikan.

Subtract<T>(T, UIntPtr)

Mengurangi offset elemen dari penunjuk terkelola yang diberikan.

Subtract<T>(Void*, Int32)

Sumber:
Unsafe.cs
Sumber:
Unsafe.cs
Sumber:
Unsafe.cs

Penting

API ini bukan kompatibel CLS.

Mengurangi offset elemen dari penunjuk tidak terkelola yang diberikan.

public:
generic <typename T>
 static void* Subtract(void* source, int elementOffset);
public static void* Subtract<T> (void* source, int elementOffset);
[System.CLSCompliant(false)]
public static void* Subtract<T> (void* source, int elementOffset);
static member Subtract : nativeptr<unit> * int -> nativeptr<unit>
[<System.CLSCompliant(false)>]
static member Subtract : nativeptr<unit> * int -> nativeptr<unit>

Jenis parameter

T

Jenis yang ukurannya akan digunakan sebagai faktor skala untuk elementOffset.

Parameter

source
Void*

Penunjuk yang tidak dikelola untuk mengurangi offset.

elementOffset
Int32

Offset untuk mengurangi.

Mengembalikan

Void*

Penunjuk baru yang tidak dikelola yang mencerminkan pengurangan offset yang ditentukan dari penunjuk sumber.

Atribut

Keterangan

Parameter elementOffset adalah jumlah elemen berukuran T(bukan byte) untuk dihapus dari penunjuk source . Misalnya, mengingat ptr pointer sumber, panggilan Unsafe.Subtract<int>(ptr, 20) akan mengembalikan pointer baru yang alamatnya menunjuk 80 byte (= 20 elemen * 4 byte per elemen) sebelum ptr.

Jika elementOffset merupakan nilai terhitung daripada harfiah yang dikodekan secara permanen, penelepon harus mempertimbangkan kemungkinan luapan bilangan bulat. Misalnya, dalam panggilan Unsafe.Subtract<int>(ptr, a * b), pemanggil harus memastikan nilai a * b perantara tidak melebihi batas Int32.

Berlaku untuk

Subtract<T>(T, Int32)

Sumber:
Unsafe.cs
Sumber:
Unsafe.cs
Sumber:
Unsafe.cs

Mengurangi offset dari pointer terkelola yang diberikan.

public:
generic <typename T>
 static T % Subtract(T % source, int elementOffset);
public static ref T Subtract<T> (ref T source, int elementOffset);
static member Subtract : 'T * int -> 'T
Public Shared Function Subtract(Of T) (ByRef source As T, elementOffset As Integer) As T

Jenis parameter

T

Jenis elemen dari penunjuk terkelola.

Parameter

source
T

Penunjuk terkelola untuk mengurangi offset.

elementOffset
Int32

Offset untuk mengurangi.

Mengembalikan

T

Penunjuk terkelola baru yang mencerminkan pengurangan offset yang ditentukan dari penunjuk sumber.

Keterangan

Parameter elementOffset adalah jumlah elemen berukuran T(bukan byte) untuk dikurangi dari penunjuk source . Misalnya, mengingat ptr pointer sumber jenis ref int, panggilan Unsafe.Subtract<int>(ref ptr, 20) akan mengembalikan pointer baru yang alamatnya menunjuk 80 byte (= 20 elemen * 4 byte per elemen) sebelum ptr.

Jika elementOffset merupakan nilai terhitung daripada harfiah yang dikodekan secara permanen, penelepon harus mempertimbangkan kemungkinan luapan bilangan bulat. Misalnya, dalam panggilan Unsafe.Subtract<int>(ref ptr, a * b), pemanggil harus memastikan nilai a * b perantara tidak melebihi batas Int32.

Berlaku untuk

Subtract<T>(T, IntPtr)

Sumber:
Unsafe.cs
Sumber:
Unsafe.cs
Sumber:
Unsafe.cs

Mengurangi offset elemen dari penunjuk terkelola yang diberikan.

public:
generic <typename T>
 static T % Subtract(T % source, IntPtr elementOffset);
public static ref T Subtract<T> (ref T source, IntPtr elementOffset);
static member Subtract : 'T * nativeint -> 'T
Public Shared Function Subtract(Of T) (ByRef source As T, elementOffset As IntPtr) As T

Jenis parameter

T

Jenis elemen dari penunjuk terkelola.

Parameter

source
T

Penunjuk terkelola untuk mengurangi offset.

elementOffset
IntPtr

nativeint

Offset untuk mengurangi.

Mengembalikan

T

Penunjuk terkelola baru yang mencerminkan pengurangan offset yang ditentukan dari penunjuk sumber.

Keterangan

Parameter elementOffset adalah jumlah elemen berukuran T(bukan byte) untuk dikurangi dari penunjuk source . Misalnya, mengingat ptr pointer sumber jenis ref int, panggilan Unsafe.Subtract<int>(ref ptr, (nint)20) akan mengembalikan pointer baru yang alamatnya menunjuk 80 byte (= 20 elemen * 4 byte per elemen) sebelum ptr.

Jika elementOffset merupakan nilai terhitung daripada harfiah yang dikodekan secara permanen, penelepon harus mempertimbangkan kemungkinan luapan bilangan bulat. Misalnya, dalam panggilan Unsafe.Subtract<int>(ref ptr, a * b), pemanggil harus memastikan nilai a * b perantara tidak melebihi batas IntPtr.

Berlaku untuk

Subtract<T>(T, UIntPtr)

Sumber:
Unsafe.cs
Sumber:
Unsafe.cs
Sumber:
Unsafe.cs

Penting

API ini bukan kompatibel CLS.

Mengurangi offset elemen dari penunjuk terkelola yang diberikan.

public:
generic <typename T>
 static T % Subtract(T % source, UIntPtr elementOffset);
public static ref T Subtract<T> (ref T source, nuint elementOffset);
[System.CLSCompliant(false)]
public static ref T Subtract<T> (ref T source, UIntPtr elementOffset);
static member Subtract : 'T * unativeint -> 'T
[<System.CLSCompliant(false)>]
static member Subtract : 'T * unativeint -> 'T
Public Shared Function Subtract(Of T) (ByRef source As T, elementOffset As UIntPtr) As T

Jenis parameter

T

Jenis elemen dari penunjuk terkelola.

Parameter

source
T

Penunjuk terkelola untuk mengurangi offset.

elementOffset
UIntPtr

nuint

unativeint

Offset untuk mengurangi.

Mengembalikan

T

Penunjuk terkelola baru yang mencerminkan pengurangan offset yang ditentukan dari penunjuk sumber.

Atribut

Keterangan

Parameter elementOffset adalah jumlah elemen berukuran T(bukan byte) untuk dikurangi dari penunjuk source . Misalnya, mengingat ptr pointer sumber jenis ref int, panggilan Unsafe.Subtract<int>(ref ptr, (nuint)20) akan mengembalikan pointer baru yang alamatnya menunjuk 80 byte (= 20 elemen * 4 byte per elemen) sebelum ptr.

Jika elementOffset merupakan nilai terhitung daripada harfiah yang dikodekan secara permanen, penelepon harus mempertimbangkan kemungkinan luapan bilangan bulat. Misalnya, dalam panggilan Unsafe.Subtract<int>(ref ptr, a * b), pemanggil harus memastikan nilai a * b perantara tidak melebihi batas UIntPtr.

Berlaku untuk