因为数据溢出(超出short能表示的范围),被重置为-32768.
解决方案 »
- 菜鸟求救 第一行 'valus' 附近有语法错误。
- webBrowser很多人用过吧?请教一个关乎webBrowser的问题
- ado.net的东西太多,难以把握要领和要点,想找到一些关于ado.net经常用到的精华部分,比如用代码建库表的常用类和方法属性,记录的插入、删除、更新等等,需要精通这方面的专家总结提供,不胜感激。(其他网友请不要说去学习vs的帮助)
- 显示打开文件的路径
- 用C#编写一个判断用户输入的一组数字中最大的数
- 谁能把这个邮件的标题解码出来?
- 初学c#,想找几个未编译过的例子练习一下,不知道大家谁有,谢谢!
- vosual studio.net 已检测到指定的web服务器运行的不是asp.net1.1版,您将无法运行asp.net web
- 一个面向对象的问题
- 把字符串的前后的空格去掉,怎么做???
- 数据库连接问题
- 请教!请问有没有在运行期作设计的控件和例子,除了移动,缩放,最好还有添加删除等
在c#中,short 即System.Int16,表示16位有符号整数。范围为-32768 到 32767
但32767为short能表示的最大正整数,其二进制为:0111 1111 1111 1111
加1后为:1000 0000 0000 0000,超出上界,转换为(0x7fff-0xffff),正好是 -32768
加1后为:1000 0000 0000 0000,超出上界,转换为(0x7fff-0xffff),正好是 -32768
不会抛出异常
short x=32766;
x++;
Console.WriteLine(x);
checked
{x++;}或者打开编译器的checked开关,也会抛出异常。