UInteger数据类型包含0到4,294,967,295之间的任何值(引用MSDN)。

如果我在VB.NET中尝试此代码,则会出现编译器错误:

Dim Test As UInteger = &HFFFFFFFF



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

最佳答案

我相信这是因为VB.NET编译器将文字&HFFFFFFFF解释为Integer,而Integer的值是负数(-1),显然不能将其转换为UInteger

通过编写&HFFFFFFFFUI并附加UI后缀以将文字视为UInteger,可以轻松解决此问题。

关于.net - 为什么将0xFFFFFFFF分配给UInteger在VB.NET中产生错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3620982/

10-11 00:29