概要 キャスト演算子と as 演算子の実行速度に関しての話を少々。 ちなみに、 キャストと as には以下のような差もあります。 as は変換なしで代入可能かどうかしか判定しない(ユーザ定義の型変換演算子は呼んでくれない) as は参照型(class)にしか使えない キャストと as の実行速度 普通のキャストと as は、ちゃんと型変換できるなら得られる結果は一緒で、失敗時には、 キャスト: InvalidCast 例外発生 as: null を返す という違いがあります。 (例外に関しては、「例外処理」参照。) C# の例外処理機構は、 try catch を書くだけならほとんどコストはないんですが、 例外が throw された場合にはかなり重たい負荷がかかります。 なので、型変換に失敗する可能性があるときは as にする方がほぼ確実にパフォーマンスがよくなります。 確実に型変換ができ