開発環境
- Microsoft Windows 7 Home Premium (OS)
- Microsoft Visual C# 2010 Express Edition (IDE)
- 言語: C#
独習C# 第3版 ハーバート・シルト (著) エディフィストラーニング株式会社 矢嶋聡 (監修, 翻訳) の第14章(プリプロセッサ、実行時の型の識別、null許容型、高度なトピック)の理解度チェック4、5、6を解いてみる。
4.
isキーワードはオブジェクトのがある型かどうか判定する役割がある。
構文
オブジェクト is 型
コード
using System; class A { } class B : A { } class Tester { public void Run() { A a = new A(); B b = new B(); object[] objs = { a, b }; foreach (object obj in objs) { Console.WriteLine(obj is A); Console.WriteLine(obj is B); } } static void Main() { Tester t = new Tester(); t.Run(); } }
入出力結果(Console Window)
True False True True 続行するには何かキーを押してください . . .
5.
asキーワードには変換を失敗した際、例外を投げるのではなくnullを返すというメリットがある。
コード
using System; class A { } class B : A { } class Tester { public void Run() { A a = new A(); B b = new B(); A aa = b as A; B bb = a as B; object[] objs = { aa, bb }; foreach (object obj in objs) { if (obj == null) { Console.WriteLine("null"); } else { Console.WriteLine(obj); } } } static void Main() { Tester t = new Tester(); t.Run(); } }
入出力結果(Console Window)
B null 続行するには何かキーを押してください . . .
6.
コード
using System; class A { } class B : A { } class Tester { public void Run() { int? n = null; if (n == null) { Console.WriteLine("null"); } n = 10; Console.WriteLine(n); } static void Main() { Tester t = new Tester(); t.Run(); } }
入出力結果(Console Window)
null 10 続行するには何かキーを押してください . . .
0 コメント:
コメントを投稿