UIntPtr Структура

Определение

Важно!

Этот API несовместим с CLS.

Определяемый платформой тип, который используется для представления указателя или дескриптора.

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
Наследование
UIntPtr
Атрибуты
Реализации

Комментарии

UIntPtrТип разрабатывается как целое число, размер которого зависит от платформы. То есть экземпляр этого типа должен иметь 32 бит на 32-разрядном оборудовании и операционных системах, а 64-бит на 64-разрядном оборудовании и операционных системах.

Важно!

IntPtrТип является CLS-совместимым, а UIntPtr тип — нет. IntPtrВ среде CLR используется только тип. UIntPtrТип предоставляется преимущественно для поддержки архитектурной симметрии с IntPtr типом.

UIntPtrТип может использоваться языками, поддерживающими указатели, и как распространенный способ обращения к данным между языками, которые не поддерживают указатели. UIntPtr объекты также можно использовать для хранения дескрипторов.

Этот тип реализует ISerializable , и, в .NET 5 и более поздних версиях, IFormattable интерфейсы.

В C#, начиная с версии 9,0, можно использовать встроенный nuint тип для определения целых чисел собственного размера. Этот тип представлен UIntPtr внутренним типом и предоставляет операции и преобразования, подходящие для целочисленных типов. Дополнительные сведения см. в разделе типы НИНТ и нуинт.

Конструкторы

UIntPtr(UInt32)

Инициализирует новый экземпляр структуры UIntPtr с использованием указанного 32-битового указателя или дескриптора.

UIntPtr(UInt64)

Инициализирует новый экземпляр структуры UIntPtr с помощью заданного 64-битового указателя или дескриптора.

UIntPtr(Void*)

Инициализирует новый экземпляр структуры UIntPtr с использованием заданного указателя на незаданный тип.

Поля

Zero

Доступное только для чтения поле, которое предоставляет указатель или дескриптор, инициализированный с нулевым значением.

Свойства

MaxValue

Представляет наибольшее возможное значение типа UIntPtr.

MinValue

Представляет минимально допустимое значение типа UIntPtr.

Size

Получает размер этого экземпляра.

Методы

Add(UIntPtr, Int32)

Добавляет смещение к значению указателя без знака.

CompareTo(Object)

Сравнивает текущий экземпляр с другим объектом того же типа и возвращает целое число, которое показывает, расположен ли текущий экземпляр перед, после или на той же позиции в порядке сортировки, что и другой объект.

CompareTo(UIntPtr)

Сравнивает текущий экземпляр с другим объектом того же типа и возвращает целое число, которое показывает, расположен ли текущий экземпляр перед, после или на той же позиции в порядке сортировки, что и другой объект.

Equals(Object)

Возвращает значение, показывающее, равен ли данный экземпляр заданному объекту.

Equals(UIntPtr)

Указывает, равен ли текущий объект другому объекту того же типа.

GetHashCode()

Возвращает хэш-код данного экземпляра.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Преобразует доступное только для чтения количество символов в представлении числа по дополнительному указанному стилю и дополнительно указанному формату для определенного языка и региональных параметров в собственный целочисленный эквивалент без знака.

Parse(String)

Преобразует строковое представление числа в эквивалентное ему собственное целое число без знака.

Parse(String, IFormatProvider)

Преобразует строковое представление числа в формате, соответствующем языку и региональным параметрам, в эквивалентное ему собственное целое число без знака.

Parse(String, NumberStyles)

Преобразует строковое представление числа в указанном формате в эквивалентное ему собственное целое число без знака.

Parse(String, NumberStyles, IFormatProvider)

Преобразует строковое представление числа в формате, соответствующем стилю, языку и региональным параметрам, в эквивалентное ему собственное целое число без знака.

Subtract(UIntPtr, Int32)

Вычитает смещение из значения указателя без знака.

ToPointer()

Преобразует значение этого экземпляра в указатель незаданного типа.

ToString()

Преобразует числовое значение данного экземпляра в эквивалентное ему строковое представление.

ToString(IFormatProvider)

Преобразует числовое значение данного экземпляра в эквивалентное ему строковое представление с использованием указанного формата и сведений об особенностях форматирования для данного языка и региональных параметров.

ToString(String)

Преобразует числовое значение данного экземпляра в эквивалентное строковое представление с использованием указанного формата.

ToString(String, IFormatProvider)

Форматирует значение текущего экземпляра, используя указанный формат.

ToUInt32()

Преобразует значение данного экземпляра в 32-битовое целое число без знака.

ToUInt64()

Преобразует значение данного экземпляра в 64-битовое целое число без знака.

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

Пытается отформатировать значение текущего экземпляра в указанный диапазон символов.

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

Преобразует доступное только для чтения представление символов числа в указанном стиле и формате, соответствующем языку и региональным параметрам, в собственный целочисленный эквивалент без знака. Возвращает значение, указывающее, успешно ли выполнено преобразование.

TryParse(ReadOnlySpan<Char>, UIntPtr)

Преобразует доступное только для чтения представление символов числа в собственный целочисленный эквивалент без знака. Возвращает значение, указывающее, успешно ли выполнено преобразование.

TryParse(String, NumberStyles, IFormatProvider, UIntPtr)

Преобразует строковое представление числа в формате, соответствующем стилю, языку и региональным параметрам, в эквивалентное ему собственное целое число без знака. Возвращает значение, указывающее, успешно ли выполнено преобразование.

TryParse(String, UIntPtr)

Преобразует строковое представление числа в эквивалентное ему собственное целое число без знака. Возвращает значение, указывающее, успешно ли выполнено преобразование.

Операторы

Addition(UIntPtr, Int32)

Добавляет смещение к значению указателя без знака.

Equality(UIntPtr, UIntPtr)

Определяет, равны ли два заданных экземпляра класса UIntPtr.

Explicit(UInt32 to UIntPtr)

Преобразует значение 32-битового целого числа без знака в значение типа UIntPtr.

Explicit(UInt64 to UIntPtr)

Преобразует значение 64-битового целого числа без знака в значение типа UIntPtr.

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)

Вычитает смещение из значения указателя без знака.

Явные реализации интерфейса

IEquatable<UIntPtr>.Equals(UIntPtr)

Возвращает значение, указывающее, равен ли этот экземпляр другому целочисленному указателю без знака.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Заполняет объект SerializationInfo данными, необходимыми для сериализации текущего объекта UIntPtr.

Применяется к

Потокобезопасность

Данный тип потокобезопасен.

См. также раздел