더북(TheBook)

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와 문자열 반환값을 받을 수 있습니다.

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