39.3 문자열 매개변수를 받는 인덱서 사용하기

    키와 값 쌍으로 데이터를 저장해 놓는 기능을 인덱서로 만들어 보겠습니다. 다음 내용을 입력한 후 실행해 보세요. 프로젝트에 클래스 파일은 NickName.cs와 NickNameDemo.cs 2개를 만듭니다.

    //NickName.cs
    using System.Collections;
    
    namespace NickNameDemo
    {
        public class NickName
        {
            //① 필드: 해시 테이블 형식의 필드 생성
            private Hashtable _names = new Hashtable();
    
            //② 인덱서: 문자열 매개변수를 받고 문자열 값을 반환
            public string this[string key]
            {
                get { return _names[key].ToString(); }
                set { _names[key] = value; }
            }
        }
    }
    
    //NickNameDemo.cs
    using System;
    
    namespace NickNameDemo
    {
    
        class NickNameDemo
        {
            static void Main()
            {
                //ⓐ NickName 클래스의 인스턴스(개체) 생성
                var nick = new NickName();
    
                //ⓑ 문자열 인덱서 사용
                nick["박용준"] = "RedPlus"; //Key와 Value 형태로 저장
                nick["김태영"] = "Taeyo";
    
                //ⓒ 문자열 인덱서 값 출력
                Console.WriteLine($"{nick["박용준"]}, {nick["김태영"]}");
            }
        }
    }

    실행하면 다음 결과가 나옵니다.

    RedPlus, Taeyo

    처럼 문자열 키와 값 쌍으로 데이터를 저장할 때는 Hashtable 또는 Dictionary 클래스를 사용하면 편합니다.

    문자열 매개변수를 받는 인덱서는 ②처럼 public string this[string key] 형태로 문자열 key와 문자열 반환값을 받을 수 있습니다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.