キャスト演算子とas演算子の違い
データ型を変換する方法としてキャスト演算子やas演算子があります。
この二つの違いがあやふやな方からすると、int
からfloat
に変換する際には以下のように書く方法を思いつくんじゃないでしょうか。
int hoge = 1234; float s1 = (float)hoge; int piyo = 1234; float s2 = piyo as float;
実はこれ、下の方のコードは動きません。
違いは何だ?
キャスト演算子は変換に失敗した際に”InvalidCastException例外”を投げます。それに対して、as演算子は変換に失敗した際に”null”を返します。
おわり
微妙な違いですが知っとくと変換の時にエラーが起こりづらかったり、変換に失敗した時の処理方法を間違わずに実装でき少し幸せになれます。