C#문법연습(13): 클래스[5] - 인덱스

1368 단어 C#
색인을 사용하면 클래스의 배열(또는 컬렉션) 멤버를 쉽게 사용할 수 있습니다.


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();

    }

}


 
   

좋은 웹페이지 즐겨찾기