.Net下的一个不可思议的问题,有人遇到过吗?

bmon_xyz 2003-08-19 10:27:46
在.net下我对一个BYTE型的变量赋值,发现竟然不能超过128!
BYTE的范围应该是0~255啊?!
有人遇到过吗?郁闷!
...全文
84 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gujianxin 2003-08-21
  • 打赏
  • 举报
回复
2002 的Bug

vc6 当然没有了,vc6都不会测试你,顶多运行时报错
poweruser 2003-08-20
  • 打赏
  • 举报
回复
偶用的是VS.net 2003,没有发现这个问题
studiovc 2003-08-20
  • 打赏
  • 举报
回复
这是一个BUG:
在VC.NET 2002下,
BYTE a = 200; //只要a>128
//设断点,Do Sth;

在调试中就会出现a的值为0。但是实际上a内存中的
值确实为200。只要:
int i = a;
i的值为200。

MSDN技术支持小组建议升级到VC.NET 2003。
另外在 VC6中没有这个bug !
bmon_xyz 2003-08-19
  • 打赏
  • 举报
回复
我用的是VC.NET,里面有SByte这个数据类型吗?
再说windef.h中确实定义的是
typedef unsigned char BYTE;
说不通啊?
saucer 2003-08-19
  • 打赏
  • 举报
回复
I mean try

System.Byte

instead of BYTE from the old days
saucer 2003-08-19
  • 打赏
  • 举报
回复
Byte is an 8-bit unsigned integer in .NET, use SByte instead

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧