uint(C# 参考) - C# 编程指南

返回介绍

uint(C# 参考)

发布于 2019-11-12 字数2790 浏览 897 评论 0

uint 关键字表示一种整型,该类型根据下表显示的大小和范围存储值。

类型

范围

大小

.NET Framework 类型

uint

0 到 4,294,967,295

无符号 32 位整数

System..::.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# 语言规范中的以下各章节:

  • 1.3 类型和变量

  • 4.1.5 整型

请参见

概念

C# 编程指南

参考

C# 关键字整型表(C# 参考)内置类型表(C# 参考)隐式数值转换表(C# 参考)显式数值转换表(C# 参考)UInt32

其他资源

C# 参考

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!