为什么将0xFFFFFFFF分配给UInteger会在VB.NET中生成错误?

前端之家收集整理的这篇文章主要介绍了为什么将0xFFFFFFFF分配给UInteger会在VB.NET中生成错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
UInteger数据类型保存0到4,294,967,295之间的任何值(参考 MSDN)。

如果我在VB.NET中尝试这个代码,我会得到一个编译错误

Dim Test As UInteger = &HFFFFFFFF

Error: “Constant expression not representable in type ‘UInteger’.

为什么我不能将0xFFFFFFFF(4,295)设置为一个UInteger,如果此类型可以保存此值?

我相信这是因为文字& HFFFFFFFF被VB.NET编译器解释为整数,并且整数的值是负数(-1),显然不能转换为UInteger。

通过写& HFFFFFFFFUI可以很容易地解决这个问题,并添加UI后缀来将文字视为UInteger。

猜你在找的VB相关文章