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/