[C# 문법] C# 인덱서(Indexer) 사용 방법


안녕하세요.

 

오늘은 C# 문법 중에서 인덱서라는 문법에 대해서 알려드리려고 합니다.


인덱서란?


-     인덱서는 인덱스를 이용해서 객체 내의 데이터에 접근하게 해주는 프로퍼티라고 이해하시면 되겠습니다. 객체를 마치 배열처럼 사용할 수 있게 해줍니다.

 

그러면 실제로 C#에서 어떻게 인덱서를 사용하는지 예제 코드를 통해서 보여 드리도록 하겠습니다.


 

인덱서 예제 코드


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace IndexerTest

    class Program

    {

        static void Main(string[] args)

        {

            //MyList 객체 생성

            MyList list = new MyList();

 

            for(int idx = 0; idx < 10; idx++)

            {

                //배열을 다루듯이 인덱스를 통해

                //데이터 저장

                list[idx] = idx;

            }

 

            //위에서 저장된 객체 출력

            for(int idx = 0; idx < list.Length; idx++)

            {

                Console.WriteLine(list[idx]);

            }

        }

    }

 

    class MyList

    {

        private int[] array;

 

        public MyList()

        {

            array = new int[5]; //인덱스 크기 설정

        }

 

        /// <summary>

        /// 인덱서 생성

        /// </summary>

        /// <param name="index"></param>

        /// <returns></returns>

        public int this[int index]

        {

            get

            {

                return array[index];

            }

 

            set

            {

                if(index >= array.Length)

                {

                    Array.Resize<int>(ref array, index + 1);

                    Console.WriteLine("Array Resized : {0}", array.Length);

                }

 

                array[index] = value;

            }

        }

 

        public int Length

        {

            get

            {

                return array.Length;

            }

        }

    }

}

 

Colored by Color Scripter

cs


실행 결과



 

위와 같이 인덱서 선언 및 사용 방법에 대해서 알아 보았습니다.

 

간단히 인덱서의 역할과 사용방법에 대해서 알아 보았는데요. 일단 이런 문법들도 있다고 인지를 하시고 넘어가시면 향후에 인덱서를 사용하실 날이 분명히 오기 때문에, 그때 지금의 기억을 떠올려서 인덱서를 사용하시면 되겠습니다.

 

감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY