对于" int" 0xff和255之间的任何差异变量?

时间:2018-03-09 16:08:33

标签: c# byte

编码之间是否有任何差异:

int something = 255;

或者这个:

int something = 0xff;

另外:如果此变量稍后被投放为byte,它是否仍然相同?

1 个答案:

答案 0 :(得分:-1)

我所询问的内容之间没有区别,但是有一些模糊的推理:由于变量后来被变为byte,它的最大值是int。

    var v1 = 0xff; //255
    var v2 = 0x100; //256

    Console.WriteLine((byte)v1);
    Console.WriteLine(v1 == (int)v1);
    Console.WriteLine(v1 == (uint)v1);
    Console.WriteLine(v1 == (byte)v1);      

    Console.WriteLine((byte)v2);
    Console.WriteLine(v2 == (int)v2);
    Console.WriteLine(v2 == (uint)v2);
    Console.WriteLine(v2 == (byte)v2);

输出:

255
True
True
True
0      <--
True
True
False  <--