uint (справочник по C#)

Ключевое слово uint обозначает целочисленный тип, в котором хранятся значения, размер и диапазон которых приведен в следующей таблице.

Тип

Диапазон

Размер

Тип платформы .NET Framework

uint

От 0 до 4 294 967 295

32-разрядное целое число без знака

UInt32

Примечание   Тип uint не является CLS-совместимым. Когда это возможно, используйте тип int.

Литералы

Переменную типа uint можно объявить и инициализировать, как показано в этом примере:

uint myUint = 4294967290;

Если целочисленный литерал не имеет суффикса, его тип — первый из этих типов, в котором может быть представлено его значение: int, uint, long, ulong. В данном примере это тип uint:

uint uInt1 = 123;

Можно также использовать суффикс u или U, например:

uint uInt2 = 123U;

При использовании суффикса U или u для литерала используется тип uint или ulong в зависимости от числового значения литерала. Примеры.

Console.WriteLine(44U.GetType());
Console.WriteLine(323442434344U.GetType());

Данный код отображает System.UInt32 и затем System.UInt64 — базовые типы для uint и ulong соответственно, поскольку второй литерал имеет слишком большой размер для сохранения в типе uint.

Преобразования

Существует предопределенное неявное преобразование типа uint в тип long, ulong, float, double или decimal. Примеры.

float myFloat = 4294967290;   // OK: implicit conversion to float

Существует предопределенное неявное преобразование типа byte, ushort или char в тип uint. В противном случае необходимо использовать приведение. Например, следующий оператор назначения вызывает ошибку компиляции без приведения:

long aLong = 22;
// Error -- no implicit conversion from long:
uint uInt1 = aLong; 
// OK -- explicit conversion:
uint uInt2 = (uint)aLong;

Обратите внимание, что неявного преобразования типов с плавающей запятой в тип uint не существует. Например, следующая инструкция приводит к ошибке компилятора, если не выполнить явное приведение типов:

// Error -- no implicit conversion from double:
uint x = 3.0;
// OK -- explicit conversion:
uint y = (uint)3.0; 

Сведения об арифметических выражениях, в которых одновременно используются переменные типов с плавающей запятой и целочисленных типов, см. в разделе float и double.

Дополнительные сведения о правилах выполнения неявных числовых преобразований см. в разделе Таблица неявных числовых преобразований (Справочник по C#).

Спецификация языка C#

Дополнительные сведения см. в Спецификация языка C#. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.

См. также

Ссылки

Ключевые слова C#

Таблица целых типов (Справочник по C#)

Таблица встроенных типов (Справочник по C#)

Таблица неявных числовых преобразований (Справочник по C#)

Таблица явных числовых преобразований (Справочник по C#)

UInt32

Основные понятия

Руководство по программированию на C#

Другие ресурсы

Справочник по C#