2012年3月19日月曜日

開発環境

  • Microsoft Windows 7 Home Premium (OS)
  • Microsoft Visual C# 2010 Express Edition (IDE)
  • 言語: C#

独習C# 第3版 ハーバート・シルト (著) エディフィストラーニング株式会社 矢嶋聡 (監修, 翻訳)の第2章(C#のデータ型と演算子)の理解度8, 9, 10チェックを解いてみる。

8.

式において、byte型とshort型はint型に上位変換される。(整数上位変換)

コード

using System;

class Tester
{
    public void Run()
    {
        byte a = 1;
        short b = 2;
        Console.WriteLine((a + b).GetType());
    }
    static void Main()
    {
        Tester t = new Tester();
        t.Run();
    }
}

入出力結果

System.Int32
続行するには何かキーを押してください . . .

9.

decimal型と混在できるのはB. int、C. uint. D. byte、混在できないのはA. float。

コード

using System;

class Tester
{
    public void Run()
    {
        decimal a = 12345.6789m;
        float b = 1.2f;
        int c = 5;
        uint d = 10;
        byte e = 10;
        // Console.WriteLine(a + b); コメントアウトするとエラーが発生
        Console.WriteLine(a + c);
        Console.WriteLine(a + d);
        Console.WriteLine(a + e);
    }
    static void Main()
    {
        Tester t = new Tester();
        t.Run();
    }
}

入出力結果

12350.6789
12355.6789
12355.6789
続行するには何かキーを押してください . . .

10.

一般的に、明示的なキャストが必要なのは混在できない型を混在させたいとき、下位変換するとき。

decimalとfloatは混在できないので、decimal型の変数をfloat型に変換してから混在させてみる。

コード

using System;

class Tester
{
    public void Run()
    {
        decimal a = 12345.6789m;
        float b = 1.2f;
        int c = (int)a;
        Console.WriteLine(c);
        Console.WriteLine((float)a + b);
    }
    static void Main()
    {
        Tester t = new Tester();
        t.Run();
    }
}

入出力結果(Console Window)

12345
12346.88
続行するには何かキーを押してください . . .

0 コメント:

コメントを投稿