因为你在外面强制转换了。Short i=Convert.ToInt16(Convert.ToInt16(str) - 1); [/quote]
说不通的。比如:
int m = Convert.ToInt16("4") - 1; //不报错
Int16 n = Convert.ToInt16("4") - 1; //报错
怎么解释?
还有:
Int16 a = 3;
short b = 3;
if (a==b)
{
int y = a;
Int32 x = b;
}
以上语句都不报错,又怎样解释?
不追究它了, 调试通就算了。