UIntPtr 구조체
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Important
이 API는 CLS 규격이 아닙니다.
비트 너비가 포인터와 같은 부호 없는 정수입니다.
public value class UIntPtr
public value class UIntPtr : System::Runtime::Serialization::ISerializable
public value class UIntPtr : IEquatable<UIntPtr>, System::Runtime::Serialization::ISerializable
[System.CLSCompliant(false)]
public struct UIntPtr
[System.CLSCompliant(false)]
[System.Serializable]
public struct UIntPtr : System.Runtime.Serialization.ISerializable
[System.CLSCompliant(false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct UIntPtr : System.Runtime.Serialization.ISerializable
[System.CLSCompliant(false)]
public struct UIntPtr : System.Runtime.Serialization.ISerializable
[System.CLSCompliant(false)]
public readonly struct UIntPtr : IEquatable<UIntPtr>, System.Runtime.Serialization.ISerializable
[<System.CLSCompliant(false)>]
type unativeint = struct
[<System.CLSCompliant(false)>]
[<System.Serializable>]
type unativeint = struct
interface ISerializable
[<System.CLSCompliant(false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type unativeint = struct
interface ISerializable
[<System.CLSCompliant(false)>]
type unativeint = struct
interface ISerializable
Public Structure UIntPtr
Public Structure UIntPtr
Implements ISerializable
Public Structure UIntPtr
Implements IEquatable(Of UIntPtr), ISerializable
- 상속
- 특성
- 구현
설명
형식은 UIntPtr 포인터와 크기가 같은 정수로 설계되었습니다. 즉, 이 형식의 인스턴스는 32비트 프로세스에서 32비트, 64비트 프로세스에서는 64비트가 될 것으로 예상됩니다.
이 형식은 UIntPtr 포인터를 지원하는 언어와 포인터를 지원하지 않는 언어 간의 데이터를 참조하는 일반적인 수단으로 사용할 수 있습니다. UIntPtr 개체를 사용하여 핸들을 보관할 수도 있습니다.
Note
포인터 또는 핸들로 사용하는 UIntPtr 것은 오류가 발생하기 쉽고 안전하지 않습니다. 단순히 같은 크기로 인해 포인터 및 핸들의 교환 형식으로 사용할 수 있는 정수 형식입니다. 포인터를 지원하지 않는 언어로 데이터를 전달하는 것과 같은 특정 교환 요구 사항 외에 포인터를 나타내는 데 올바르게 형식화된 포인터를 사용해야 하며 SafeHandle 핸들을 나타내는 데 사용해야 합니다.
이 형식은 .를 ISerializable구현합니다. .NET 5 이상 버전에서 이 형식은 IFormattable 인터페이스도 구현합니다. .NET 7 이상 버전에서 이 형식은 IBinaryInteger<TSelf>, IMinMaxValue<TSelf> 및 IUnsignedNumber<TSelf> 인터페이스도 구현합니다.
버전 9.0부터 시작하는 C#에서 기본 제공 nuint 형식을 사용하여 네이티브 크기의 정수를 정의할 수 있습니다. 이 형식은 내부적으로 형식으로 UIntPtr 표시되며 정수 형식에 적합한 작업 및 변환을 제공합니다. 자세한 내용은 nint 및 nuint 형식을 참조하세요.
C#에서는 버전 11부터 .NET 7 이상 런타임을 대상으로 하는 경우 nuintUIntPtruint 대한 별칭과 동일한 방식으로 UInt32 대한 별칭입니다.
생성자
| Name | Description |
|---|---|
| UIntPtr(UInt32) |
지정된 32비트 부호 없는 정수로 구조체의 UIntPtr 새 인스턴스를 초기화합니다. |
| UIntPtr(UInt64) |
지정된 64비트 부호 없는 정수 사용을 위한 새 인스턴스 UIntPtr 를 초기화합니다. |
| UIntPtr(Void*) |
지정되지 않은 형식에 대해 지정된 포인터를 사용하는 새 인스턴스 UIntPtr 를 초기화합니다. |
필드
| Name | Description |
|---|---|
| Zero |
0으로 초기화된 부호 없는 정수를 나타내는 읽기 전용 필드입니다. |
속성
| Name | Description |
|---|---|
| Size |
이 인스턴스의 크기를 가져옵니다. |
메서드
| Name | Description |
|---|---|
| Add(UIntPtr, Int32) |
부호 없는 정수에 오프셋을 추가합니다. |
| Equals(Object) |
이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. |
| GetHashCode() |
이 인스턴스의 해시 코드를 반환합니다. |
| Subtract(UIntPtr, Int32) |
부호 없는 정수에서 오프셋을 뺍니다. |
| ToPointer() |
이 인스턴스의 값을 지정되지 않은 형식으로 포인터로 변환합니다. |
| ToString() |
이 인스턴스의 숫자 값을 해당하는 문자열 표현으로 변환합니다. |
| ToUInt32() |
이 인스턴스의 값을 부호 없는 32비트 정수로 변환합니다. |
| ToUInt64() |
이 인스턴스의 값을 부호 없는 64비트 정수로 변환합니다. |
연산자
| Name | Description |
|---|---|
| Addition(UIntPtr, Int32) |
부호 없는 정수에 오프셋을 추가합니다. |
| Equality(UIntPtr, UIntPtr) |
지정된 두 인스턴스가 같은지 여부를 확인합니다 UIntPtr . |
| Explicit(UInt32 to UIntPtr) |
부호 없는 32비트 정 UIntPtr수의 값을 .로 변환합니다. |
| Explicit(UInt64 to UIntPtr) |
부호 UIntPtr없는 64비트 정수의 값을 으로 변환합니다. |
| Explicit(UIntPtr to UInt32) |
지정된 UIntPtr 값을 부호 없는 32비트 정수로 변환합니다. |
| Explicit(UIntPtr to UInt64) |
지정된 UIntPtr 값을 부호 없는 64비트 정수로 변환합니다. |
| Explicit(UIntPtr to Void*) |
지정된 UIntPtr 값을 지정되지 않은 형식으로 포인터로 변환합니다. 이 API는 CLS 규격이 아닙니다. |
| Explicit(Void* to UIntPtr) |
지정된 포인터를 지정되지 않은 형식으로 변환합니다 UIntPtr. 이 API는 CLS 규격이 아닙니다. |
| Inequality(UIntPtr, UIntPtr) |
지정된 두 인스턴스가 같지 않은지 여부를 확인합니다 UIntPtr . |
| Subtraction(UIntPtr, Int32) |
부호 없는 정수에서 오프셋을 뺍니다. |
명시적 인터페이스 구현
| Name | Description |
|---|---|
| IEquatable<UIntPtr>.Equals(UIntPtr) |
이 인스턴스가 부호 없는 다른 정수와 같은지 여부를 나타내는 값을 반환합니다. |
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
개체를 SerializationInfo 현재 UIntPtr 개체를 serialize하는 데 필요한 데이터로 채웁니다. |
적용 대상
스레드 보안
이 형식은 스레드로부터 안전합니다.