メインコンテンツへスキップ
< すべてのトピックに戻る

「InvalidCastException」が出た場合は?

データの「型」を別の「型」に強制変換(キャスト)しようとして 失敗 しました(例:「犬」クラスのオブジェクトを、無理やり「猫」クラスとして扱おうとした)。

C#では、全く関係のないクラス同士や、親クラスから本来の子クラスではない型への直接変換 (Type)objを行うと、安全のためにシステムが エラーを投げるためです。

(Type)ではなく、 失敗 しても エラーにならず nullを返す as 演算子(var cat = obj as Cat;)を使用するか、C# 7以降のパターンマッチング(if (obj is Cat cat) { … })を使って安全に変換してください。

目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に