2010年1月25日月曜日

structキーワードを使用して構造体を定義し、それをそのまま型として使用したり、インスタンス化して既定のコンストラクタ、パラメータ付きのコンストラクタを呼び出して使用したりしてみる。

using System;


// 構造体
struct Sample1
{
    public int n;
    public string s;
}


struct Sample2
{
    public int n;
    public string s;


    // パラメータ付きコンストラクタ
    public Sample2(int n, string s)
    {
        this.n = n;
        this.s = s;
        Console.WriteLine("{0}:{1}", n, s);
    }
}


class MainClass
{
    static void Main()
    {
        // Sample1型の変数を宣言
        Sample1 sample1;


        // n,sに1,Sampleを代入
        sample1.n = 1;
        sample1.s = "Sample1";


        // 出力値:1:Sample
        Console.WriteLine
            ("{0}:{1}", sample1.n, sample1.s);


        /* Sample2をインスタンス化して既定の
         * コンストラクタを呼び出す */
        Sample2 sample2 = new Sample2();


        // 出力値:0(int型の既定値):null
        Console.WriteLine
            ("{0}:{1}", sample2.n, sample2.s);


        // n,sに値を代入
        sample2.n = 2;
        sample2.s = "Sample2";


        // 出力値:2:Sample2
        Console.WriteLine
            ("{0}:{1}", sample2.n, sample2.s);


        /* Sample2をインスタンス化してパラメータ
         * 付きのコンストラクタを呼び出す 
         *出力値:3:Sample3 */
        Sample2 sample3 = new Sample2(3, "Sample3");
    }
}

0 コメント:

コメントを投稿