ぱふの自由帳

週3更新(火・木・日)を目指すUnityブログ。良ければフォローお願いします(`・ω・´)

キャスト演算子とas演算子の違い

データ型を変換する方法としてキャスト演算子やas演算子があります。
この二つの違いがあやふやな方からすると、intからfloatに変換する際には以下のように書く方法を思いつくんじゃないでしょうか。

int hoge = 1234;
float s1 = (float)hoge;

int piyo = 1234;
float s2 = piyo as float;

実はこれ、下の方のコードは動きません。

違いは何だ?

キャスト演算子は変換に失敗した際に”InvalidCastException例外”を投げます。それに対して、as演算子は変換に失敗した際に”null”を返します。

おわり

微妙な違いですが知っとくと変換の時にエラーが起こりづらかったり、変換に失敗した時の処理方法を間違わずに実装でき少し幸せになれます。

初心者の方や熟練者の方を問わずTwitterのフォローお待ちしています…(`・ω・´) ミンナヨロシク!