C#構文練習(13):クラス[5]-インデックス

1363 ワード

インデックスを使用すると、クラス内の配列(または集合)メンバーを簡単に使用できます.


using System;



class MyClass

{

    private float[] fs = new float[3] { 1.1f, 2.2f, 3.3f };



    /*   */

    public int Length

    { 

        get { return fs.Length; }

        set { fs = new float[value]; }

    }



    /*   */

    public float this[int n]

    {

        get { return fs[n]; }

        set { fs[n] = value; }

    }

}





class Program

{

    static void Main()

    {

        MyClass obj = new MyClass();



        for (int i = 0; i < obj.Length; i++) Console.WriteLine(obj[i]); // 1.1/2.2/3.3



        for (int i = 0; i < obj.Length; i++) obj[i] += 5.5f;

        for (int i = 0; i < obj.Length; i++) Console.WriteLine(obj[i]); // 6.6/7.7/8.8



        obj.Length = 5;

        for (int i = 0; i < obj.Length; i++) Console.WriteLine(obj[i]); // 0/0/0/0/0



        Console.ReadKey();

    }

}


 
   

インデックス・タイプとして他の値を使用できます.


using System;



class MyClass

{

    public int this[string str] 

    { 

        get { return str.Length; } 

    }

}





class Program

{

    static void Main()

    {

        MyClass obj = new MyClass();



        Console.WriteLine(obj["123"]);  // 3

        Console.WriteLine(obj["abcd"]); // 4



        Console.ReadKey();

    }

}