UIntPtr Struktur

Definition

Wichtig

Diese API ist nicht CLS-kompatibel.

Ein plattformabhängiger Typ zur Darstellung von Zeigern und Handles.

public value class UIntPtr
public value class UIntPtr : IComparable, IComparable<UIntPtr>, IEquatable<UIntPtr>, IFormattable, System::Runtime::Serialization::ISerializable
public value class UIntPtr : IComparable, IComparable<UIntPtr>, IEquatable<UIntPtr>, ISpanFormattable, System::Runtime::Serialization::ISerializable
public value class UIntPtr : IEquatable<UIntPtr>, System::Runtime::Serialization::ISerializable
public value class UIntPtr : System::Runtime::Serialization::ISerializable
[System.CLSCompliant(false)]
public struct UIntPtr
[System.CLSCompliant(false)]
public struct UIntPtr : IComparable, IComparable<UIntPtr>, IEquatable<UIntPtr>, IFormattable, System.Runtime.Serialization.ISerializable
[System.CLSCompliant(false)]
public struct UIntPtr : IComparable, IComparable<UIntPtr>, IEquatable<UIntPtr>, ISpanFormattable, System.Runtime.Serialization.ISerializable
[System.CLSCompliant(false)]
public struct UIntPtr : IEquatable<UIntPtr>, System.Runtime.Serialization.ISerializable
[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)>]
type unativeint = struct
[<System.CLSCompliant(false)>]
type unativeint = struct
    interface IFormattable
    interface ISerializable
[<System.CLSCompliant(false)>]
type unativeint = struct
    interface ISpanFormattable
    interface IFormattable
    interface ISerializable
[<System.CLSCompliant(false)>]
type unativeint = struct
    interface ISerializable
[<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
Public Structure UIntPtr
Public Structure UIntPtr
Implements IComparable, IComparable(Of UIntPtr), IEquatable(Of UIntPtr), IFormattable, ISerializable
Public Structure UIntPtr
Implements IComparable, IComparable(Of UIntPtr), IEquatable(Of UIntPtr), ISerializable, ISpanFormattable
Public Structure UIntPtr
Implements IEquatable(Of UIntPtr), ISerializable
Public Structure UIntPtr
Implements ISerializable
Vererbung
UIntPtr
Attribute
Implementiert

Hinweise

Der UIntPtr Typ ist so konzipiert, dass er eine ganze Zahl ist, deren Größe plattformspezifisch ist. Das bedeutet, dass eine Instanz dieses Typs auf 32-Bit-Hardware und -Betriebssystemen 32 Bit und auf 64-Bit-Hardware und -Betriebssystemen 64 Bit sein wird.

Wichtig

Der IntPtr Typ ist CLS-kompatibel, während der UIntPtr Typ nicht ist. Nur der IntPtr Typ wird in der Common Language Runtime verwendet. Der UIntPtr -Typ wird größtenteils bereitgestellt, um die Architektursyntität mit dem Typ IntPtr zu erhalten.

Der Typ kann von Sprachen verwendet werden, die Zeiger unterstützen, und als gängiges Mittel zum Verweisen auf Daten zwischen Sprachen, die Zeiger unterstützen UIntPtr oder nicht. UIntPtr -Objekte können auch zum Halten von Handles verwendet werden.

Dieser Typ implementiert die ISerializable Schnittstellen , und in .NET 5 und IFormattable höher.

In C# ab Version 9.0 können Sie den integrierten Typ verwenden, um ganze Zahlen nuint mit nativer Größe zu definieren. Dieser Typ wird intern durch den -Typ dargestellt und bietet Vorgänge und Konvertierungen, die für UIntPtr ganzzahlige Typen geeignet sind. Weitere Informationen finden Sie unter nint- und nuint-Typen.

Konstruktoren

UIntPtr(UInt32)

Initialisiert eine neue Instanz der UIntPtr-Struktur mit dem angegebenen 32-Bit-Zeiger bzw. -Handle.

UIntPtr(UInt64)

Initialisiert eine neue Instanz von UIntPtr mit dem angegebenen 64-Bit-Zeiger bzw. -Handle.

UIntPtr(Void*)

Initialisiert eine neue Instanz von UIntPtr mit dem angegebenen Zeiger auf einen nicht angegebenen Typ.

Felder

Zero

Ein schreibgeschütztes Feld, das einen mit 0 (null) initialisierten Zeiger oder ein Handle darstellt.

Eigenschaften

MaxValue

Stellt den größtmöglichen Wert von UIntPtr dar.

MinValue

Stellt den kleinstmöglichen Wert von UIntPtr dar.

Size

Ruft die Größe dieser Instanz ab.

Methoden

Add(UIntPtr, Int32)

Addiert einen Offset zum Wert eines Zeigers ohne Vorzeichen.

CompareTo(Object)

Vergleicht die aktuelle Instanz mit einem anderen Objekt vom selben Typ und gibt eine ganze Zahl zurück, die angibt, ob die aktuelle Instanz in der Sortierreihenfolge vor oder nach dem anderen Objekt oder an derselben Position auftritt.

CompareTo(UIntPtr)

Vergleicht die aktuelle Instanz mit einem anderen Objekt vom selben Typ und gibt eine ganze Zahl zurück, die angibt, ob die aktuelle Instanz in der Sortierreihenfolge vor oder nach dem anderen Objekt oder an derselben Position auftritt.

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.

Equals(UIntPtr)

Gibt an, ob das aktuelle Objekt gleich einem anderen Objekt des gleichen Typs ist.

GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Konvertiert die schreibgeschützte Zeichenspanne, die eine Zahl im optional angegebenen Format und optional im angegebenen kulturspezifischen Format darstellt, in die entsprechende native Ganzzahl ohne Vorzeichen.

Parse(String)

Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende native Ganzzahl ohne Vorzeichen.

Parse(String, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen kulturspezifischen Format in die entsprechende native Ganzzahl ohne Vorzeichen.

Parse(String, NumberStyles)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil in die entsprechende native Ganzzahl ohne Vorzeichen.

Parse(String, NumberStyles, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und kulturspezifischen Format in die entsprechende native Ganzzahl ohne Vorzeichen.

Subtract(UIntPtr, Int32)

Subtrahiert einen Offset vom Wert eines Zeigers ohne Vorzeichen.

ToPointer()

Konvertiert den Wert dieser Instanz in einen Zeiger auf einen nicht angegebenen Typ.

ToString()

Konvertiert den Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung.

ToString(IFormatProvider)

Konvertiert den numerischen Wert dieser Instanz unter Verwendung des angegebenen Formats und der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

ToString(String)

Konvertiert den numerischen Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung unter Berücksichtigung des angegebenen Formats.

ToString(String, IFormatProvider)

Formatiert den Wert der aktuellen Instanz mit dem angegebenen Format.

ToUInt32()

Konvertiert den Wert dieser Instanz in eine 32-Bit-Ganzzahl ohne Vorzeichen.

ToUInt64()

Konvertiert den Wert dieser Instanz in eine ganze 64-Bit-Zahl ohne Vorzeichen.

TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Versucht, den Wert der aktuellen Instanz in die bereitgestellte Zeichenspanne zu formatieren.

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, UIntPtr)

Konvertiert die schreibgeschützte Zeichenspanne, die eine Zahl in einem angegebenen Stil und kulturspezifischen Format darstellt, in die entsprechende native Ganzzahl ohne Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde.

TryParse(ReadOnlySpan<Char>, UIntPtr)

Konvertiert die schreibgeschützte Zeichenspanne, die eine Zahl darstellt, in die entsprechende native Ganzzahl ohne Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde.

TryParse(String, NumberStyles, IFormatProvider, UIntPtr)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und kulturspezifischen Format in die entsprechende native Ganzzahl ohne Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde.

TryParse(String, UIntPtr)

Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende native Ganzzahl ohne Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde.

Operatoren

Addition(UIntPtr, Int32)

Addiert einen Offset zum Wert eines Zeigers ohne Vorzeichen.

Equality(UIntPtr, UIntPtr)

Bestimmt, ob zwei angegebene Instanzen von UIntPtr gleich sind.

Explicit(UInt32 to UIntPtr)

Konvertiert den Wert einer 32-Bit-Ganzzahl ohne Vorzeichen in einen UIntPtr.

Explicit(UInt64 to UIntPtr)

Konvertiert den Wert einer ganzen 64-Bit-Zahl ohne Vorzeichen in einen UIntPtr.

Explicit(UIntPtr to UInt32)

Konvertiert den Wert des angegebenen UIntPtr in eine 32-Bit-Ganzzahl ohne Vorzeichen.

Explicit(UIntPtr to UInt64)

Konvertiert den Wert des angegebenen UIntPtr in eine ganze 64-Bit-Zahl ohne Vorzeichen.

Explicit(UIntPtr to Void*)

Konvertiert den Wert des angegebenen UIntPtr in einen Zeiger auf einen nicht angegebenen Typ.

Diese API ist nicht CLS-kompatibel.

Explicit(Void* to UIntPtr)

Konvertiert den angegebenen Zeiger auf einen nicht angegebenen Typ in einen UIntPtr.

Diese API ist nicht CLS-kompatibel.

Inequality(UIntPtr, UIntPtr)

Bestimmt, ob zwei angegebene Instanzen von UIntPtr nicht gleich sind.

Subtraction(UIntPtr, Int32)

Subtrahiert einen Offset vom Wert eines Zeigers ohne Vorzeichen.

Explizite Schnittstellenimplementierungen

IEquatable<UIntPtr>.Equals(UIntPtr)

Gibt einen Wert zurück, der angibt, ob diese Instanz einem nicht signierten ganzzahligen Zeiger gleicht.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Füllt ein SerializationInfo-Objekt mit den für das Serialisieren des aktuellen UIntPtr-Objekts erforderlichen Daten.

Gilt für

Threadsicherheit

Dieser Typ ist threadsicher.

Siehe auch