본문 바로가기

C#

C# 인덱서(Indexer)

반응형
  • 클래스에 배열 데이터를 만들고, 배열 데이터에 접근하여 사용
  • 속성과 비슷하게 생겼으며, this와 [ ](대괄호) 추가
class Score
{
    public int[] scores = { 10, 20, 30 };

    public int this[int index]
    {
        get
        {
            if (!(0 <= index && index < scores.Length))
                return 0;

            return scores[index];
        }

        set
        {
            if (0 <= index && index < scores.Length)
                scores[index] = value;
        }
    }
}

 

class Score
{
    public List<int> scores = new List<int>() { 10, 20, 30 };

    public int this[int index]
    {
        get
        {
            if (!(0 <= index && index < scores.Count))
                return 0;

            return scores[index];
        }

        set
        {
            if (0 <= index && index < scores.Count)
                scores[index] = value;
        }
    }
}

 

Score score = new Score();
Console.WriteLine($"{score[-1]}, {score[0]}, {score[1]}, {score[2]}, {score[3]}");

반응형