Unsafe.SubtractByteOffset Yöntem

Tanım

Aşırı Yüklemeler

Name Description
SubtractByteOffset<T>(T, IntPtr)

Verilen yönetilen işaretçiden bayt uzaklığını çıkarır.

SubtractByteOffset<T>(T, UIntPtr)

Verilen yönetilen işaretçiden bayt uzaklığını çıkarır.

SubtractByteOffset<T>(T, IntPtr)

Kaynak:
Unsafe.cs
Kaynak:
Unsafe.cs
Kaynak:
Unsafe.cs
Kaynak:
Unsafe.cs
Kaynak:
Unsafe.cs

Verilen yönetilen işaretçiden bayt uzaklığını çıkarır.

public:
generic <typename T>
 static T % SubtractByteOffset(T % source, IntPtr byteOffset);
public static ref T SubtractByteOffset<T>(ref T source, IntPtr byteOffset) where T : allows ref struct;
public static ref T SubtractByteOffset<T>(ref T source, IntPtr byteOffset);
static member SubtractByteOffset : 'T * nativeint -> 'T
Public Shared Function SubtractByteOffset(Of T) (ByRef source As T, byteOffset As IntPtr) As T

Tür Parametreleri

T

Yönetilen işaretçinin öğe türü.

Parametreler

source
T

Uzaklığı çıkarmak için yönetilen işaretçi.

byteOffset
IntPtr

nativeint

Çıkaracak uzaklık.

Döndürülenler

T

Kaynak işaretçiden belirtilen bayt uzaklığının çıkarma işlemini yansıtan yeni bir yönetilen işaretçi.

Açıklamalar

byteOffset parametresi, işaretçiden source kaldırılacak bayt sayısıdır. Örneğin, türünde ref intbir kaynak işaretçi ptr'sı verilip çağrıUnsafe.SubtractByteOffset<int>(ref ptr, 20), adresi ptr'den önce 20 bayt işaret eden yeni bir işaretçi döndürür.

Sabit kodlanmış değişmez değer yerine hesaplanan bir değerse byteOffset , çağıranların tamsayı taşma olasılığını göz önünde bulundurması gerekir. Örneğin çağrısında Unsafe.SubtractByteOffset<int>(ref ptr, a * b), çağıranın ara değerin a * b sınırlarını IntPtraşmadığından emin olması gerekir.

Şunlara uygulanır

SubtractByteOffset<T>(T, UIntPtr)

Kaynak:
Unsafe.cs
Kaynak:
Unsafe.cs
Kaynak:
Unsafe.cs
Kaynak:
Unsafe.cs
Kaynak:
Unsafe.cs

Önemli

Bu API, CLS uyumlu değildir.

Verilen yönetilen işaretçiden bayt uzaklığını çıkarır.

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

Tür Parametreleri

T

Yönetilen işaretçinin öğe türü.

Parametreler

source
T

Uzaklığı çıkarmak için yönetilen işaretçi.

byteOffset
UIntPtr

nuint

unativeint

Çıkaracak uzaklık.

Döndürülenler

T

Kaynak işaretçiden belirtilen bayt uzaklığının çıkarma işlemini yansıtan yeni bir yönetilen işaretçi.

Öznitelikler

Açıklamalar

byteOffset parametresi, işaretçiden source çıkarılabilmesi için kullanılan bayt sayısıdır. Örneğin, türünde ref intbir kaynak işaretçi ptr'sı verilip çağrıUnsafe.SubtractByteOffset<int>(ref ptr, (nuint)20), adresi ptr'den önce 20 bayt işaret eden yeni bir işaretçi döndürür.

Sabit kodlanmış değişmez değer yerine hesaplanan bir değerse byteOffset , çağıranların tamsayı taşma olasılığını göz önünde bulundurması gerekir. Örneğin çağrısında Unsafe.SubtractByteOffset<int>(ref ptr, a * b), çağıranın ara değerin a * b sınırlarını UIntPtraşmadığından emin olması gerekir.

Şunlara uygulanır