Versuche eine Boxed Int in Byte @ umzuwande

Code zur Veranschaulichung:

        int i = 5;
        object obj = i;
        byte b = (byte)obj; // X

Bei der Ausführung wird in der Zeile "X" eine System.InvalidCastException ("Angegebene Umwandlung ist ungültig") generiert. Eine Doppelbesetzung machen funktioniert:

        byte b = (byte)(int)obj;

Ich hätte gedacht, dass Sie in der Lage sein sollten, ein boxed int (wenn es einen Wert im Bereich von 0..255 hat) auf ein Byte umzuwandeln. Kann jemand Licht ins Dunkel bringen?

(Dies ist in .net 2.0, falls es darauf ankommt).

Antworten auf die Frage(4)

Ihre Antwort auf die Frage