Unsafe.Add 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
Add<T>(Void*, Int32) |
지정된 관리되지 않는 포인터에 요소 오프셋을 추가합니다. |
Add<T>(T, Int32) |
지정된 관리되는 포인터에 오프셋을 추가합니다. |
Add<T>(T, IntPtr) |
지정된 관리되는 포인터에 요소 오프셋을 추가합니다. |
Add<T>(T, UIntPtr) |
지정된 관리되는 포인터에 요소 오프셋을 추가합니다. |
Add<T>(Void*, Int32)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
중요
이 API는 CLS 규격이 아닙니다.
지정된 관리되지 않는 포인터에 요소 오프셋을 추가합니다.
public:
generic <typename T>
static void* Add(void* source, int elementOffset);
public static void* Add<T> (void* source, int elementOffset);
[System.CLSCompliant(false)]
public static void* Add<T> (void* source, int elementOffset);
static member Add : nativeptr<unit> * int -> nativeptr<unit>
[<System.CLSCompliant(false)>]
static member Add : nativeptr<unit> * int -> nativeptr<unit>
형식 매개 변수
- T
크기가 의 elementOffset
배율 인수로 사용되는 형식입니다.
매개 변수
- source
- Void*
오프셋을 추가할 관리되지 않는 포인터입니다.
- elementOffset
- Int32
더할 오프셋입니다.
반환
원본 포인터에 지정된 오프셋을 추가하는 것을 반영하는 관리되지 않는 새 포인터입니다.
- 특성
설명
elementOffset
매개 변수는 포인터에 추가할 source
크기가 큰 요소(바이트가 아님)의 T
수입니다. 예를 들어 원본 포인터 ptr이 지정된 경우 호출 Unsafe.Add<int>(ptr, 20)
은 주소가 ptr을 넘어 80바이트(= 20개 요소 * 요소당 4바이트)를 가리키는 새 포인터를 반환합니다.
가 하드 코딩된 리터럴이 아닌 계산 값인 경우 elementOffset
호출자는 정수 오버플로의 가능성을 고려해야 합니다. 예를 들어 호출 Unsafe.Add<int>(ptr, a * b)
에서 호출자는 중간 값 a * b
이 의 Int32
범위를 오버플로하지 않도록 해야 합니다.
적용 대상
Add<T>(T, Int32)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
지정된 관리되는 포인터에 오프셋을 추가합니다.
public:
generic <typename T>
static T % Add(T % source, int elementOffset);
public static ref T Add<T> (ref T source, int elementOffset);
static member Add : 'T * int -> 'T
Public Shared Function Add(Of T) (ByRef source As T, elementOffset As Integer) As T
형식 매개 변수
- T
관리되는 포인터의 요소 형식입니다.
매개 변수
- source
- T
오프셋을 추가할 관리되는 포인터입니다.
- elementOffset
- Int32
더할 오프셋입니다.
반환
원본 포인터에 지정된 오프셋을 추가하는 것을 반영하는 새 관리형 포인터입니다.
설명
elementOffset
매개 변수는 포인터에 추가할 source
크기가 큰 요소(바이트가 아님)의 T
수입니다. 예를 들어 형식ref int
의 소스 포인터 ptr을 지정하면 호출 Unsafe.Add<int>(ref ptr, 20)
은 주소가 ptr 이외의 80바이트(= 20개 요소 * 요소당 4바이트)를 가리키는 새 포인터를 반환합니다.
가 하드 코딩된 리터럴이 아닌 계산 값인 경우 elementOffset
호출자는 정수 오버플로의 가능성을 고려해야 합니다. 예를 들어 호출 Unsafe.Add<int>(ref ptr, a * b)
에서 호출자는 중간 값 a * b
이 의 Int32
범위를 오버플로하지 않도록 해야 합니다.
적용 대상
Add<T>(T, IntPtr)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
지정된 관리되는 포인터에 요소 오프셋을 추가합니다.
public:
generic <typename T>
static T % Add(T % source, IntPtr elementOffset);
public static ref T Add<T> (ref T source, IntPtr elementOffset);
static member Add : 'T * nativeint -> 'T
Public Shared Function Add(Of T) (ByRef source As T, elementOffset As IntPtr) As T
형식 매개 변수
- T
관리되는 포인터의 요소 형식입니다.
매개 변수
- source
- T
오프셋을 추가할 관리되는 포인터입니다.
- elementOffset
-
IntPtr
nativeint
더할 오프셋입니다.
반환
원본 포인터에 지정된 오프셋을 추가하는 것을 반영하는 새 관리형 포인터입니다.
설명
elementOffset
매개 변수는 포인터에 추가할 source
크기가 큰 요소(바이트가 아님)의 T
수입니다. 예를 들어 형식ref int
의 소스 포인터 ptr을 지정하면 호출 Unsafe.Add<int>(ref ptr, (nint)20)
은 주소가 ptr 이외의 80바이트(= 20개 요소 * 요소당 4바이트)를 가리키는 새 포인터를 반환합니다.
가 하드 코딩된 리터럴이 아닌 계산 값인 경우 elementOffset
호출자는 정수 오버플로의 가능성을 고려해야 합니다. 예를 들어 호출 Unsafe.Add<int>(ref ptr, a * b)
에서 호출자는 중간 값 a * b
이 의 IntPtr
범위를 오버플로하지 않도록 해야 합니다.
적용 대상
Add<T>(T, UIntPtr)
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
- Source:
- Unsafe.cs
중요
이 API는 CLS 규격이 아닙니다.
지정된 관리되는 포인터에 요소 오프셋을 추가합니다.
public:
generic <typename T>
static T % Add(T % source, UIntPtr elementOffset);
public static ref T Add<T> (ref T source, nuint elementOffset);
[System.CLSCompliant(false)]
public static ref T Add<T> (ref T source, UIntPtr elementOffset);
static member Add : 'T * unativeint -> 'T
[<System.CLSCompliant(false)>]
static member Add : 'T * unativeint -> 'T
Public Shared Function Add(Of T) (ByRef source As T, elementOffset As UIntPtr) As T
형식 매개 변수
- T
관리되는 포인터의 요소 형식입니다.
매개 변수
- source
- T
오프셋을 추가할 관리되는 포인터입니다.
- elementOffset
-
UIntPtr
nuint
unativeint
더할 오프셋입니다.
반환
원본 포인터에 지정된 오프셋을 추가하는 것을 반영하는 새 관리형 포인터입니다.
- 특성
설명
elementOffset
매개 변수는 포인터에 추가할 source
크기가 큰 요소(바이트가 아님)의 T
수입니다. 예를 들어 형식ref int
의 소스 포인터 ptr을 지정하면 호출 Unsafe.Add<int>(ref ptr, (nuint)20)
은 주소가 ptr 이외의 80바이트(= 20개 요소 * 요소당 4바이트)를 가리키는 새 포인터를 반환합니다.
가 하드 코딩된 리터럴이 아닌 계산 값인 경우 elementOffset
호출자는 정수 오버플로의 가능성을 고려해야 합니다. 예를 들어 호출 Unsafe.Add<int>(ref ptr, a * b)
에서 호출자는 중간 값 a * b
이 의 UIntPtr
범위를 오버플로하지 않도록 해야 합니다.
적용 대상
.NET