C# – Cannot unbox as a ‚type‘
Dieses Stück Code fand sich in abgewandelter Form in einem meiner Programme
object _i = 4; decimal _d = (decimal)_i; // Cannot unbox '_i' as a 'decimal' - InvalidCastException
Kann man plötzlich kein int
mehr auf double
casten? Hätte ich mal aufgepasst, dann wüsste ich, dass ein unboxing ((decimal)_i
) nur dann funktioniert, wenn der Zieldatentyp auch genau dem Ausgangsdatentyp entspricht. Im obigen Fall müsste ich solch ein Konstrukt anwenden:
object _i = 4; decimal _d = (decimal)(int)_i;
Ein dämlicher Fehler, den man auch nur einmal macht, sobald man weiß was man falsch gemacht hat.
Done;