Tips - Visual C#

【TOP】

as演算子による型変換
as演算子は変数の型変換を行う演算子で、キャストとよく似ています。
キャストとの違いは、キャストが型変換に失敗した場合に例外を発生させるのに対して
as演算子は、例外を発生させず、変換先変数にnullを設定する点です。
また、as演算子はString型、配列、クラスなどの参照型にのみ使用可能です。
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main() { object obj1 = 15; string str1; // ()演算子による型変換(キャスト) Console.WriteLine("☆()演算子による型変換(キャスト)☆\n"); try { str1 = (string)obj1; Console.WriteLine("str1=={0}", str1 == null ? "null" : str1); } catch (Exception e) { Console.WriteLine("例外が発生しました。(" + e.GetType() + ")"); Console.WriteLine(e.Message); } Console.WriteLine("\n---------------------------------------------------------\n"); // as演算子による型変換 Console.WriteLine("☆as演算子による型変換☆\n"); try { str1 = obj1 as string; Console.WriteLine("str1=={0}", str1 == null ? "null" : str1); } catch (Exception e) { Console.WriteLine("例外が発生しました。(" + e.GetType() + ")"); Console.WriteLine(e.Message); } } } }
上のプログラムを実行すると以下のような結果となります。
☆()演算子による型変換(キャスト)☆ 例外が発生しました。(System.InvalidCastException) 型 'System.Int32' のオブジェクトを型 'System.String' にキャストできません。 --------------------------------------------------------- ☆as演算子による型変換☆ str1==null
【戻る】