Why does array cast Int32[] to UInt32[] work only after conversion through Object?

Viewed 25

It's obvious that UInt32 can not accurately represent Int32 values, but what's the mechanism behind the following chain conversion allowing to perform cast?

        Int32[] a = { 1, 20, 0, 5, 7, 9};
        UInt32[] b = (UInt32[])(Object)a;
0 Answers
Related