首页 新闻 会员 周边

UIntPtr和IntPtr有什么区别?

0
[已解决问题] 解决于 2013-01-15 16:11

是VS  C#中看到的关键字,不太明白它们有什么区别..

 

另外他们可以用 Int* p 这样的指针来取代吗?

hexllo的主页 hexllo | 菜鸟二级 | 园豆:318
提问于:2013-01-15 13:28
< >
分享
最佳答案
1

它们并不是关键字,它们只是Framework Class Library中定义的struct,并且没有关键字与之对应(不像Int32对应int, Int64对应long这样)。UIntPtr和IntPtr都是用来表示一个托管的指针,所以不能用int*这样的非托管指针来取代,你可以对托管指针进行安全的操作而不用担心引起内存异常。 UIntPtr和IntPtr的区别类似UInt32和Int32的区别,一个是无符号的32位整数(本质是一个地址),一个是有符号的32位整数。UInt32能表示更大的值,代价是没有符号位。

奖励园豆:5
水牛刀刀 | 大侠五级 |园豆:6350 | 2013-01-15 14:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册