Vb.net 从十六进制文字创建UIntPtr
使用此代码时:Vb.net 从十六进制文字创建UIntPtr,vb.net,Vb.net,使用此代码时: NativeMethods.SetProcessWorkingSetSize( itemProcess.Handle, DirectCast(&HFFFFFFFFUI, UIntPtr), DirectCast(&HFFFFFFFFUI, UIntPtr)) 我得到一个错误: 无法将UInteger转换为System.UIntPtr 。为什么呢?类似的代码在C中工作。要从UInteger创建UIntPtr,请使用: NativeMetho
NativeMethods.SetProcessWorkingSetSize(
itemProcess.Handle,
DirectCast(&HFFFFFFFFUI, UIntPtr),
DirectCast(&HFFFFFFFFUI, UIntPtr))
我得到一个错误:
无法将UInteger转换为System.UIntPtr
。为什么呢?类似的代码在C中工作。要从UInteger创建UIntPtr,请使用:
NativeMethods.SetProcessWorkingSetSize
itemProcess.Handle,新UIntPtr和HFFFFFFUI,新UIntPtr和HFFFFFFUI
@minitech有人能至少解释一下&HFFFFFFFFUI值吗?我试图在网上搜索,但找不到它。它是一个十六进制值&H是VB表示法,而0x是C。您可以使用Win Caluclator来查看此类内容的十进制值。将值粘贴到程序员视图中,然后切换到标准。该值为0,但不能这样赋值,因为UIntPtr是一个类型。这就像编码整数=4FFFFFF不是0,它是4294967295,或者32位-1或32位~0按位不是0。@PUROTIX不,它不是0。它是UInt32.MaxValue,或者是符号int的-1。你很幸运,你没有把它作为一个答案发布:是的……看起来不对;我想弄清楚他想做什么,把它分配给一个类型