キャストと型変換(回答)
回答
A.
int balance = (int)(float)amountRef;
解説
始めに、C#(.NET)では、定義済みの暗黙の変換ができます。
今回の場合、float
型が変換元の場合はdouble
型が可能ですが、int
型には暗黙の変換はできません。
Object
型からint
型にキャストしているB.
ですが、実行するとSystem.InvalidCastException
が発生します。
Object
型からキャストせずに直接値をfloat
型に設定しているC.
ですが、コードCS0266
が発生するため、コンパイルが通りません(ビルドができません)。
Object
型からdouble
型、int
型の順にキャストしているD.
ですが、実行するとSystem.InvalidCastException
が発生します。
そのため、答えはObject
型からfloat
型、int
型に変換しているA.
が正解です。
参考
Last updated