我有一个基本上做的功能:
internal static short GetPresentYear()
{
return Convert.ToInt16(DateTime.Now.Year - 1);
}
现在当我尝试使用该功能时,调试器显示我得到0x07d9
而不是2008年...
我在这里做错了什么?我如何让它返回2008年?
感谢。
修改:我知道我可以使用int
代替short
,但数据库旨在存储smallint
,因此我不得不使用short
。
答案 0 :(得分:3)
这对我来说确实会回归2008年。那是你真正的代码吗?
有关信息,0x07d9只是2009年的十六进制。您可以通过将鼠标悬停在值上并选中/取消选中“十六进制显示”来在调试器中切换它。
答案 1 :(得分:3)
您的输出窗口中是否已启用Hexadecimal Display
?
右键单击输出窗口,它是上下文菜单中的一个选项。
答案 2 :(得分:3)
十六进制0x07d9是2009年十进制,所以一切都正确。
右键单击locals / watch窗口并取消选中十六进制设置。
答案 3 :(得分:0)
您是否将调试器设置为显示十六进制值? 0x07d9是2009年的十六进制。浏览监视窗口,右键单击并检查未选中“十六进制显示”。
答案 4 :(得分:0)
我得到了2008.而不是0x07d9(Hexadecimal Display)