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