我看了网上的
好像说short相当于C#的Byte
那么我用
short s=1;
s=s+ Convert.ToByte(1);
但还是出错
是怎么回事谢谢

解决方案 »

  1.   

         short s = 1;
            s += 1;short占两个字节
    byte一个字节怎么会一样啊
      

  2.   

    short短整形,怎么可以跟byte直接相加呢``   
      

  3.   

    s=s+ Convert.ToInt16(1)
    还是出错
      

  4.   

    byte隐式转换是System.Int32
    所以你加编译会出错的.
      

  5.   

      short s = 1;
                s += 1;不会出错.
      

  6.   

    RE:
     short s = 1; 
                s += 1; 不会出错. 
    ---------------
    这样是不会错

    s= s+ 1就错了
    我想问这样要怎么转换那个 1
      

  7.   

    short短整形 System.Int16 不能乱赋值的要用Convert转换一下
      

  8.   

    或者:   short s = 1;
                s =  Convert.ToInt16(s + 1);又或者   s = (short)(s + 1);
      

  9.   

    short s = 1;
    s= (short)(s+ Convert.ToByte(1));
    Console.WriteLine(s);
    这样就行了.
      

  10.   

    short x = 5, y = 12;
    以下赋值语句将产生一个编译错误,原因是赋值运算符右侧的算术表达式在默认情况下的计算结果为 int 类型。short z = x + y; // Error: no conversion from int to short 若要解决此问题,请使用强制转换:short z = ( short )(x + y); // OK: explicit conversion 
      

  11.   

    写成下面的样子就可以了
    short s = 1; 
    s += 1;