UIntPtr Struktúra
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Fontos
Ez az API nem CLS-kompatibilis.
Aláíratlan egész számot jelöl, ahol a bitszélesség megegyezik a mutatóval.
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
- Öröklődés
- Attribútumok
- Megvalósítás
Megjegyzések
A UIntPtr típus olyan egész számnak készült, amelynek mérete megegyezik a mutatóéval. Vagyis az ilyen típusú példányok várhatóan 32 bitesek lesznek egy 32 bites folyamatban, és 64 bitesek egy 64 bites folyamatban.
A UIntPtr típust olyan nyelvek használhatják, amelyek támogatják a mutatókat, és gyakran hivatkoznak olyan nyelvek közötti adatokra, amelyek nem támogatják a mutatókat. UIntPtr az objektumok fogópontok tárolására is használhatók.
Note
Mutatóként vagy fogópontként való használata UIntPtr hibalehetőség és nem biztonságos. Ez egyszerűen egy egész számtípus, amely ugyanazzal a méretével használható felcserélhető formátumként a mutatókhoz és a fogópontokhoz. A konkrét felcserélési követelményeken kívül, például az adatok olyan nyelvre való továbbításához, amely nem támogatja a mutatókat, egy helyesen beírt mutatót kell használni a mutatók megjelenítéséhez, és SafeHandle a fogópontok megjelenítésére kell használni.
Ez a típus implementálja a ISerializable. Az .NET 5-ös és újabb verzióiban ez a típus a IFormattable interfészeket is implementálja. A .NET 7-es és újabb verzióiban ez a típus a IBinaryInteger<TSelf>, IMinMaxValue<TSelf> és IUnsignedNumber<TSelf> interfészeket is implementálja.
A C#-ban a 9.0-s verziótól kezdve a beépített nuint típussal natív méretű egész számokat definiálhat. Ezt a típust a UIntPtr típus képviseli belsőleg, és olyan műveleteket és átalakításokat biztosít, amelyek megfelelnek az egész számtípusoknak. További információ: nint és nuint types.
A C#-ban a 11-es verziótól kezdve és a .NET 7-es vagy újabb futtatókörnyezet megcélzásakor a nuint a UIntPtr aliasa, ugyanúgy, mint a uint a UInt32 aliasa.
Konstruktorok
| Name | Description |
|---|---|
| UIntPtr(UInt32) |
Inicializálja a UIntPtr struktúra új példányát a megadott 32 bites aláíratlan egész szám használatával. |
| UIntPtr(UInt64) |
Inicializál egy új példányt UIntPtr a megadott 64 bites aláíratlan egész szám használatával. |
| UIntPtr(Void*) |
Inicializál egy új példányt UIntPtr , amely a megadott mutatót nem meghatározott típusra használja. |
Mezők
| Name | Description |
|---|---|
| Zero |
Írásvédett mező, amely nullára inicializált aláíratlan egész számot jelöl. |
Tulajdonságok
| Name | Description |
|---|---|
| Size |
Lekéri a példány méretét. |
Metódusok
| Name | Description |
|---|---|
| Add(UIntPtr, Int32) |
Eltolást ad hozzá egy aláíratlan egész számhoz. |
| Equals(Object) |
Egy értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal. |
| GetHashCode() |
A példány kivonatkódját adja vissza. |
| Subtract(UIntPtr, Int32) |
Eltolás kivonása egy előjel nélküli egész számból. |
| ToPointer() |
A példány értékét egy meghatározatlan típussá alakítja át. |
| ToString() |
A példány numerikus értékét a megfelelő sztring-ábrázolásúvá alakítja. |
| ToUInt32() |
A példány értékét 32 bites, aláíratlan egész számmá alakítja. |
| ToUInt64() |
A példány értékét 64 bites, aláíratlan egész számmá alakítja. |
Operátorok
| Name | Description |
|---|---|
| Addition(UIntPtr, Int32) |
Eltolást ad hozzá egy aláíratlan egész számhoz. |
| Equality(UIntPtr, UIntPtr) |
Meghatározza, hogy két megadott példány UIntPtr egyenlő-e. |
| Explicit(UInt32 to UIntPtr) |
Egy 32 bites aláíratlan egész szám értékét alakítja át egy UIntPtr. |
| Explicit(UInt64 to UIntPtr) |
Egy 64 bites aláíratlan egész szám értékét átalakítja egy UIntPtr. |
| Explicit(UIntPtr to UInt32) |
A megadott UIntPtr értéket 32 bites, aláíratlan egész számmá alakítja. |
| Explicit(UIntPtr to UInt64) |
A megadott UIntPtr érték konvertálása 64 bites, aláíratlan egész számmá. |
| Explicit(UIntPtr to Void*) |
A megadott UIntPtr értékeket mutatóvá alakítja egy meghatározatlan típussá. Ez az API nem CLS-kompatibilis. |
| Explicit(Void* to UIntPtr) |
A megadott mutatót meghatározatlan típussá UIntPtralakítja. Ez az API nem CLS-kompatibilis. |
| Inequality(UIntPtr, UIntPtr) |
Meghatározza, hogy két megadott példány UIntPtr nem egyenlő-e. |
| Subtraction(UIntPtr, Int32) |
Eltolás kivonása egy előjel nélküli egész számból. |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| IEquatable<UIntPtr>.Equals(UIntPtr) |
Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy másik aláíratlan egész számokkal. |
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Feltölt egy SerializationInfo objektumot az aktuális UIntPtr objektum szerializálásához szükséges adatokkal. |
A következőre érvényes:
Szálbiztonság
Ez a típus szálbiztos.