다음을 통해 공유


Unsafe.SubtractByteOffset 메서드

정의

오버로드

SubtractByteOffset<T>(T, IntPtr)

지정된 관리되는 포인터에서 바이트 오프셋을 뺍니다.

SubtractByteOffset<T>(T, UIntPtr)

지정된 관리되는 포인터에서 바이트 오프셋을 뺍니다.

SubtractByteOffset<T>(T, IntPtr)

Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
Unsafe.cs

지정된 관리되는 포인터에서 바이트 오프셋을 뺍니다.

public:
generic <typename T>
 static T % SubtractByteOffset(T % source, IntPtr byteOffset);
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

관리되는 포인터의 요소 형식입니다.

매개 변수

source
T

오프셋을 빼는 관리형 포인터입니다.

byteOffset
IntPtr

nativeint

뺄 오프셋입니다.

반환

T

원본 포인터에서 지정된 바이트 오프셋의 빼기를 반영하는 새 관리형 포인터입니다.

설명

매개 변수는 byteOffset 포인터에서 제거할 바이트 수입니다 source . 예를 들어 형식ref int의 소스 포인터 ptr이 지정된 경우 호출 Unsafe.SubtractByteOffset<int>(ref ptr, 20) 은 주소가 ptr 이전에 20바이트를 가리키는 새 포인터를 반환합니다.

가 하드 코딩된 리터럴이 아닌 계산된 값인 경우 byteOffset 호출자는 정수 오버플로의 가능성을 고려해야 합니다. 예를 들어 호출 Unsafe.SubtractByteOffset<int>(ref ptr, a * b)에서 호출자는 중간 값 a * b 이 의 IntPtr범위를 오버플로하지 않도록 해야 합니다.

적용 대상

SubtractByteOffset<T>(T, UIntPtr)

Source:
Unsafe.cs
Source:
Unsafe.cs
Source:
Unsafe.cs

중요

이 API는 CLS 규격이 아닙니다.

지정된 관리되는 포인터에서 바이트 오프셋을 뺍니다.

public:
generic <typename T>
 static T % SubtractByteOffset(T % source, UIntPtr byteOffset);
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);
static member SubtractByteOffset : 'T * unativeint -> 'T
[<System.CLSCompliant(false)>]
static member SubtractByteOffset : 'T * unativeint -> 'T
Public Shared Function SubtractByteOffset(Of T) (ByRef source As T, byteOffset As UIntPtr) As T

형식 매개 변수

T

관리되는 포인터의 요소 형식입니다.

매개 변수

source
T

오프셋을 빼는 관리형 포인터입니다.

byteOffset
UIntPtr

nuint

unativeint

뺄 오프셋입니다.

반환

T

원본 포인터에서 지정된 바이트 오프셋의 빼기를 반영하는 새 관리형 포인터입니다.

특성

설명

매개 변수는 byteOffset 포인터에서 빼는 바이트 수입니다 source . 예를 들어 형식ref int의 소스 포인터 ptr이 지정된 경우 호출 Unsafe.SubtractByteOffset<int>(ref ptr, (nuint)20) 은 주소가 ptr 이전에 20바이트를 가리키는 새 포인터를 반환합니다.

가 하드 코딩된 리터럴이 아닌 계산된 값인 경우 byteOffset 호출자는 정수 오버플로의 가능성을 고려해야 합니다. 예를 들어 호출 Unsafe.SubtractByteOffset<int>(ref ptr, a * b)에서 호출자는 중간 값 a * b 이 의 UIntPtr범위를 오버플로하지 않도록 해야 합니다.

적용 대상