開発環境
- 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 コメント:
コメントを投稿