UIntPtr Struktura

Definicja

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Reprezentuje niepodpisaną liczbę całkowitą, w której szerokość bitów jest taka sama jak wskaźnik.

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 : IComparable<UIntPtr>, IEquatable<UIntPtr>, IParsable<UIntPtr>, ISpanParsable<UIntPtr>, System::Numerics::IAdditionOperators<UIntPtr, UIntPtr, UIntPtr>, System::Numerics::IAdditiveIdentity<UIntPtr, UIntPtr>, System::Numerics::IBinaryInteger<UIntPtr>, System::Numerics::IBinaryNumber<UIntPtr>, System::Numerics::IBitwiseOperators<UIntPtr, UIntPtr, UIntPtr>, System::Numerics::IComparisonOperators<UIntPtr, UIntPtr>, System::Numerics::IDecrementOperators<UIntPtr>, System::Numerics::IDivisionOperators<UIntPtr, UIntPtr, UIntPtr>, System::Numerics::IEqualityOperators<UIntPtr, UIntPtr>, System::Numerics::IIncrementOperators<UIntPtr>, System::Numerics::IMinMaxValue<UIntPtr>, System::Numerics::IModulusOperators<UIntPtr, UIntPtr, UIntPtr>, System::Numerics::IMultiplicativeIdentity<UIntPtr, UIntPtr>, System::Numerics::IMultiplyOperators<UIntPtr, UIntPtr, UIntPtr>, System::Numerics::INumber<UIntPtr>, System::Numerics::INumberBase<UIntPtr>, System::Numerics::IShiftOperators<UIntPtr, UIntPtr>, System::Numerics::ISubtractionOperators<UIntPtr, UIntPtr, UIntPtr>, System::Numerics::IUnaryNegationOperators<UIntPtr, UIntPtr>, System::Numerics::IUnaryPlusOperators<UIntPtr, UIntPtr>, System::Numerics::IUnsignedNumber<UIntPtr>, 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 readonly struct UIntPtr : IComparable, IComparable<UIntPtr>, IEquatable<UIntPtr>, IFormattable, System.Runtime.Serialization.ISerializable
[System.CLSCompliant(false)]
public readonly struct UIntPtr : IComparable, IComparable<UIntPtr>, IEquatable<UIntPtr>, ISpanFormattable, System.Runtime.Serialization.ISerializable
[System.CLSCompliant(false)]
public readonly struct UIntPtr : IComparable<UIntPtr>, IEquatable<UIntPtr>, IParsable<UIntPtr>, ISpanParsable<UIntPtr>, System.Numerics.IAdditionOperators<UIntPtr,UIntPtr,UIntPtr>, System.Numerics.IAdditiveIdentity<UIntPtr,UIntPtr>, System.Numerics.IBinaryInteger<UIntPtr>, System.Numerics.IBinaryNumber<UIntPtr>, System.Numerics.IBitwiseOperators<UIntPtr,UIntPtr,UIntPtr>, System.Numerics.IComparisonOperators<UIntPtr,UIntPtr>, System.Numerics.IDecrementOperators<UIntPtr>, System.Numerics.IDivisionOperators<UIntPtr,UIntPtr,UIntPtr>, System.Numerics.IEqualityOperators<UIntPtr,UIntPtr>, System.Numerics.IIncrementOperators<UIntPtr>, System.Numerics.IMinMaxValue<UIntPtr>, System.Numerics.IModulusOperators<UIntPtr,UIntPtr,UIntPtr>, System.Numerics.IMultiplicativeIdentity<UIntPtr,UIntPtr>, System.Numerics.IMultiplyOperators<UIntPtr,UIntPtr,UIntPtr>, System.Numerics.INumber<UIntPtr>, System.Numerics.INumberBase<UIntPtr>, System.Numerics.IShiftOperators<UIntPtr,UIntPtr>, System.Numerics.ISubtractionOperators<UIntPtr,UIntPtr,UIntPtr>, System.Numerics.IUnaryNegationOperators<UIntPtr,UIntPtr>, System.Numerics.IUnaryPlusOperators<UIntPtr,UIntPtr>, System.Numerics.IUnsignedNumber<UIntPtr>, System.Runtime.Serialization.ISerializable
[System.CLSCompliant(false)]
public struct UIntPtr : IEquatable<UIntPtr>, System.Runtime.Serialization.ISerializable
[System.CLSCompliant(false)]
public readonly 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 IFormattable
    interface IParsable<unativeint>
    interface ISpanFormattable
    interface ISpanParsable<unativeint>
    interface IAdditionOperators<unativeint, unativeint, unativeint>
    interface IAdditiveIdentity<unativeint, unativeint>
    interface IBinaryInteger<unativeint>
    interface IBinaryNumber<unativeint>
    interface IBitwiseOperators<unativeint, unativeint, unativeint>
    interface IComparisonOperators<unativeint, unativeint>
    interface IEqualityOperators<unativeint, unativeint>
    interface IDecrementOperators<unativeint>
    interface IDivisionOperators<unativeint, unativeint, unativeint>
    interface IIncrementOperators<unativeint>
    interface IModulusOperators<unativeint, unativeint, unativeint>
    interface IMultiplicativeIdentity<unativeint, unativeint>
    interface IMultiplyOperators<unativeint, unativeint, unativeint>
    interface INumber<unativeint>
    interface INumberBase<unativeint>
    interface ISubtractionOperators<unativeint, unativeint, unativeint>
    interface IUnaryNegationOperators<unativeint, unativeint>
    interface IUnaryPlusOperators<unativeint, unativeint>
    interface IShiftOperators<unativeint, unativeint>
    interface IMinMaxValue<unativeint>
    interface IUnsignedNumber<unativeint>
    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 IAdditionOperators(Of UIntPtr, UIntPtr, UIntPtr), IAdditiveIdentity(Of UIntPtr, UIntPtr), IBinaryInteger(Of UIntPtr), IBinaryNumber(Of UIntPtr), IBitwiseOperators(Of UIntPtr, UIntPtr, UIntPtr), IComparable(Of UIntPtr), IComparisonOperators(Of UIntPtr, UIntPtr), IDecrementOperators(Of UIntPtr), IDivisionOperators(Of UIntPtr, UIntPtr, UIntPtr), IEqualityOperators(Of UIntPtr, UIntPtr), IEquatable(Of UIntPtr), IIncrementOperators(Of UIntPtr), IMinMaxValue(Of UIntPtr), IModulusOperators(Of UIntPtr, UIntPtr, UIntPtr), IMultiplicativeIdentity(Of UIntPtr, UIntPtr), IMultiplyOperators(Of UIntPtr, UIntPtr, UIntPtr), INumber(Of UIntPtr), INumberBase(Of UIntPtr), IParsable(Of UIntPtr), ISerializable, IShiftOperators(Of UIntPtr, UIntPtr), ISpanParsable(Of UIntPtr), ISubtractionOperators(Of UIntPtr, UIntPtr, UIntPtr), IUnaryNegationOperators(Of UIntPtr, UIntPtr), IUnaryPlusOperators(Of UIntPtr, UIntPtr), IUnsignedNumber(Of UIntPtr)
Public Structure UIntPtr
Implements IEquatable(Of UIntPtr), ISerializable
Public Structure UIntPtr
Implements ISerializable
Dziedziczenie
UIntPtr
Atrybuty
Implementuje
IComparable IComparable<UIntPtr> IEquatable<UIntPtr> IFormattable ISerializable ISpanFormattable IComparable<TOther> IComparable<TSelf> IEquatable<TOther> IEquatable<TSelf> IParsable<UIntPtr> IParsable<TSelf> ISpanParsable<UIntPtr> ISpanParsable<TSelf> IAdditionOperators<UIntPtr,UIntPtr,UIntPtr> IAdditionOperators<TSelf,TSelf,TSelf> IAdditiveIdentity<UIntPtr,UIntPtr> IAdditiveIdentity<TSelf,TSelf> IBinaryInteger<UIntPtr> IBinaryNumber<UIntPtr> IBinaryNumber<TSelf> IBitwiseOperators<UIntPtr,UIntPtr,UIntPtr> IBitwiseOperators<TSelf,TSelf,TSelf> System.Numerics.IComparisonOperators<UIntPtr,UIntPtr> System.Numerics.IComparisonOperators<TSelf,TSelf> IDecrementOperators<UIntPtr> IDecrementOperators<TSelf> IDivisionOperators<UIntPtr,UIntPtr,UIntPtr> IDivisionOperators<TSelf,TSelf,TSelf> System.Numerics.IEqualityOperators<UIntPtr,UIntPtr> System.Numerics.IEqualityOperators<TSelf,TOther> System.Numerics.IEqualityOperators<TSelf,TSelf> IIncrementOperators<UIntPtr> IIncrementOperators<TSelf> IMinMaxValue<UIntPtr> IModulusOperators<UIntPtr,UIntPtr,UIntPtr> IModulusOperators<TSelf,TSelf,TSelf> IMultiplicativeIdentity<UIntPtr,UIntPtr> IMultiplicativeIdentity<TSelf,TSelf> IMultiplyOperators<UIntPtr,UIntPtr,UIntPtr> IMultiplyOperators<TSelf,TSelf,TSelf> INumber<UIntPtr> INumber<TSelf> INumberBase<UIntPtr> INumberBase<TSelf> System.Numerics.IShiftOperators<UIntPtr,UIntPtr> System.Numerics.IShiftOperators<TSelf,TSelf> ISubtractionOperators<UIntPtr,UIntPtr,UIntPtr> ISubtractionOperators<TSelf,TSelf,TSelf> IUnaryNegationOperators<UIntPtr,UIntPtr> IUnaryNegationOperators<TSelf,TSelf> IUnaryPlusOperators<UIntPtr,UIntPtr> IUnaryPlusOperators<TSelf,TSelf> IUnsignedNumber<UIntPtr>

Uwagi

Typ UIntPtr jest przeznaczony do liczby całkowitej, której rozmiar jest taki sam jak wskaźnik. Oznacza to, że wystąpienie tego typu ma być 32-bitowe w procesie 32-bitowym i 64-bitowym w procesie 64-bitowym.

Typ UIntPtr może być używany przez języki, które obsługują wskaźniki, oraz jako typowy sposób odwoływania się do danych między językami, które nie obsługują wskaźników. UIntPtr obiekty mogą być również używane do przechowywania uchwytów.

Uwaga

Użycie UIntPtr jako wskaźnika lub uchwytu jest podatne na błędy i niebezpieczne. Jest to po prostu typ liczby całkowitej, który może być używany jako format wymiany wskaźników i uchwytów z powodu tego samego rozmiaru. Poza określonymi wymaganiami wymiany, takimi jak przekazywanie danych do języka, który nie obsługuje wskaźników, należy używać poprawnie wpisanego wskaźnika do reprezentowania wskaźników i SafeHandle służyć do reprezentowania dojść.

Ten typ implementuje element ISerializable. W wersjach .NET 5 i nowszych ten typ implementuje IFormattable również interfejsy. W wersjach .NET 7 i nowszych ten typ implementuje IBinaryInteger<TSelf>również interfejsy , IMinMaxValue<TSelf>i IUnsignedNumber<TSelf> .

W języku C# począwszy od wersji 9.0 można użyć wbudowanego nuint typu do zdefiniowania liczb całkowitych o rozmiarze natywnym. Ten typ jest reprezentowany przez UIntPtr typ wewnętrznie i zapewnia operacje i konwersje, które są odpowiednie dla typów całkowitych. Aby uzyskać więcej informacji, zobacz nint i nuint types (Typy nint i nuint).

W języku C# począwszy od wersji 11 i w przypadku określania wartości docelowej środowiska uruchomieniowego nuint .NET 7 lub nowszego alias jest aliasem uint UIntPtr dla UInt32programu .

Konstruktory

UIntPtr(UInt32)

Inicjuje UIntPtr nowe wystąpienie struktury przy użyciu określonej 32-bitowej liczby całkowitej bez znaku.

UIntPtr(UInt64)

Inicjuje UIntPtr nowe wystąpienie przy użyciu określonej 64-bitowej liczby całkowitej bez znaku.

UIntPtr(Void*)

Inicjuje UIntPtr nowe wystąpienie użycia określonego wskaźnika do nieokreślonego typu.

Pola

Zero

Pole tylko do odczytu, które reprezentuje niepodpisaną liczbę całkowitą, która została zainicjowana na zero.

Właściwości

MaxValue

Reprezentuje największą możliwą wartość .UIntPtr

MinValue

Reprezentuje najmniejszą możliwą wartość .UIntPtr

Size

Pobiera rozmiar tego wystąpienia.

Metody

Add(UIntPtr, Int32)

Dodaje przesunięcie do niepodpisanej liczby całkowitej.

Clamp(UIntPtr, UIntPtr, UIntPtr)

Zaciska wartość do wartości minimalnej i maksymalnej.

CompareTo(Object)

Porównuje bieżące wystąpienie z innym obiektem tego samego typu i zwraca liczbę całkowitą, która wskazuje, czy bieżące wystąpienie poprzedza, następuje po lub występuje w tym samym położeniu, co inny obiekt w porządku sortowania.

CompareTo(UIntPtr)

Porównuje bieżące wystąpienie z innym obiektem tego samego typu i zwraca liczbę całkowitą, która wskazuje, czy bieżące wystąpienie poprzedza, następuje po lub występuje w tym samym położeniu, co inny obiekt w porządku sortowania.

DivRem(UIntPtr, UIntPtr)

Oblicza iloraz i pozostałą część dwóch wartości.

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

Equals(UIntPtr)

Wskazuje, czy bieżący obiekt jest równy innemu obiektowi tego samego typu.

GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.

IsEvenInteger(UIntPtr)

Określa, czy wartość reprezentuje parzystą liczbę całkowitą.

IsOddInteger(UIntPtr)

Określa, czy wartość reprezentuje nieparzystą liczbę całkowitą.

IsPow2(UIntPtr)

Określa, czy wartość jest mocą dwóch.

LeadingZeroCount(UIntPtr)

Oblicza liczbę zer wiodących w wartości.

Log2(UIntPtr)

Oblicza dziennik2 wartości.

Max(UIntPtr, UIntPtr)

Porównuje dwie wartości z obliczeniami, które są większe.

Min(UIntPtr, UIntPtr)

Porównuje dwie wartości z obliczeniami, które są mniejsze.

Parse(ReadOnlySpan<Char>, IFormatProvider)
Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Konwertuje zakres znaków tylko do odczytu reprezentujący liczbę w opcjonalnym określonym stylu i opcjonalnie określony format specyficzny dla kultury do jego niepodpisanej natywnej liczby całkowitej.

Parse(String)

Konwertuje reprezentację ciągu liczby na niepodpisaną natywną liczbę całkowitą równoważną.

Parse(String, IFormatProvider)

Konwertuje reprezentację ciągu liczby w określonym formacie specyficznym dla kultury na odpowiednik niepodpisanej natywnej liczby całkowitej.

Parse(String, NumberStyles)

Konwertuje reprezentację ciągu liczby w określonym stylu na odpowiednik niepodpisanej natywnej liczby całkowitej.

Parse(String, NumberStyles, IFormatProvider)

Konwertuje reprezentację ciągu liczby w określonym stylu i formacie specyficznym dla kultury na odpowiednik niepodpisanej liczby całkowitej natywnej.

PopCount(UIntPtr)

Oblicza liczbę bitów ustawionych w wartości.

RotateLeft(UIntPtr, Int32)

Obraca wartość pozostawioną przez daną kwotę.

RotateRight(UIntPtr, Int32)

Obraca wartość z prawej strony według danej kwoty.

Sign(UIntPtr)

Oblicza znak wartości.

Subtract(UIntPtr, Int32)

Odejmuje przesunięcie od niepodpisanej liczby całkowitej.

ToPointer()

Konwertuje wartość tego wystąpienia na wskaźnik do nieokreślonego typu.

ToString()

Konwertuje wartość liczbową tego wystąpienia na równoważną reprezentację w postaci ciągu.

ToString(IFormatProvider)

Konwertuje wartość liczbową tego wystąpienia na równoważną reprezentację w postaci ciągu przy użyciu podanego formatu i informacji specyficznych dla kultury.

ToString(String)

Konwertuje wartość liczbową tego wystąpienia na równoważną reprezentację w postaci ciągu przy użyciu podanego formatu.

ToString(String, IFormatProvider)

Formatuje wartość bieżącego wystąpienia przy użyciu określonego formatu.

ToUInt32()

Konwertuje wartość tego wystąpienia na 32-bitową liczbę całkowitą bez znaku.

ToUInt64()

Konwertuje wartość tego wystąpienia na 64-bitową liczbę całkowitą bez znaku.

TrailingZeroCount(UIntPtr)

Oblicza liczbę końcowych zer w wartości.

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

Próbuje sformatować wartość bieżącego wystąpienia w podanym zakresie znaków.

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

Konwertuje zakres znaków tylko do odczytu reprezentujący liczbę w określonym stylu i formacie specyficznym dla kultury na jego niepodpisany natywny odpowiednik liczb całkowitych. Wartość zwracana wskazuje, czy konwersja zakończyła się pomyślnie.

TryParse(ReadOnlySpan<Char>, UIntPtr)

Konwertuje zakres znaków tylko do odczytu reprezentujący liczbę na niepodpisaną natywną liczbę całkowitą równoważną. Wartość zwracana wskazuje, czy konwersja zakończyła się pomyślnie.

TryParse(String, IFormatProvider, UIntPtr)
TryParse(String, NumberStyles, IFormatProvider, UIntPtr)

Konwertuje reprezentację ciągu liczby w określonym stylu i formacie specyficznym dla kultury na jego niepodpisaną natywną liczbę całkowitą równoważną. Wartość zwracana wskazuje, czy konwersja zakończyła się pomyślnie.

TryParse(String, UIntPtr)

Konwertuje reprezentację ciągu liczby na niepodpisaną natywną liczbę całkowitą równoważną. Wartość zwracana wskazuje, czy konwersja zakończyła się pomyślnie.

Operatory

Addition(UIntPtr, Int32)

Dodaje przesunięcie do niepodpisanej liczby całkowitej.

Equality(UIntPtr, UIntPtr)

Określa, czy dwa określone wystąpienia adresu UIntPtr są takie same.

Explicit(UInt32 to UIntPtr)

Konwertuje wartość 32-bitowej liczby całkowitej bez znaku na wartość UIntPtr.

Explicit(UInt64 to UIntPtr)

Konwertuje wartość 64-bitowej liczby całkowitej bez znaku na wartość UIntPtr.

Explicit(UIntPtr to UInt32)

Konwertuje wartość określonej UIntPtr na 32-bitową niepodpisaną liczbę całkowitą.

Explicit(UIntPtr to UInt64)

Konwertuje wartość określonej UIntPtr na 64-bitową niepodpisaną liczbę całkowitą.

Explicit(UIntPtr to Void*)

Konwertuje wartość określonego UIntPtr wskaźnika na nieokreślony typ.

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Explicit(Void* to UIntPtr)

Konwertuje określony wskaźnik na nieokreślony typ na UIntPtr.

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Inequality(UIntPtr, UIntPtr)

Określa, czy dwa określone wystąpienia elementu UIntPtr nie są takie same.

Subtraction(UIntPtr, Int32)

Odejmuje przesunięcie z niepodpisanej liczby całkowitej.

Jawne implementacje interfejsu

IBinaryInteger<UIntPtr>.GetByteCount()

Pobiera liczbę bajtów, które zostaną zapisane jako część .TryWriteLittleEndian(Span<Byte>, Int32)

IBinaryInteger<UIntPtr>.GetShortestBitLength()

Pobiera długość (w bitach) najkrótszej reprezentacji wartości bieżącej.

IBinaryInteger<UIntPtr>.TryWriteBigEndian(Span<Byte>, Int32)

Próbuje zapisać bieżącą wartość w formacie big-endian dla danego zakresu.

IBinaryInteger<UIntPtr>.TryWriteLittleEndian(Span<Byte>, Int32)

Próbuje zapisać bieżącą wartość w formacie little-endian do danego zakresu.

IEquatable<UIntPtr>.Equals(UIntPtr)

Zwraca wartość wskazującą, czy to wystąpienie jest równe innej niepodpisanej liczbie całkowitej.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

SerializationInfo Wypełnia obiekt danymi potrzebnymi do serializacji bieżącego UIntPtr obiektu.

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny wątkowo.

Zobacz też