정수형 인덱서 만들기
우선 get 키워드만 사용하는 정수형 인덱서를 만들어 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.
정수형 인덱서 만들기: IndexerNote.cs
using System; class Catalog { //① 정수형 인덱서: this[int index] 형태로 정의됨 public string this[int index] { get { return (index % 2 == 0) ? $"{index} : 짝수 반환" : $"{index} : 홀수 반환"; } } } class IndexerNote { static void Main() { Catalog catalog = new Catalog(); Console.WriteLine(catalog[0]); //② 개체이름[인덱스] 형태로 호출 가능 Console.WriteLine(catalog[1]); Console.WriteLine(catalog[2]); } }
실행 결과
0 : 짝수 반환 1 : 홀수 반환 2 : 짝수 반환
인덱서는 속성과 달리 이름을 따로 지정하지 않고 this 키워드를 사용합니다. 그리고 매개변수로 배열 형식을 받습니다. ①에서 넘어온 매개변수 값이 짝수 또는 홀수일 때마다 매개변수 값과 함께 짝수 또는 홀수 값을 반환합니다. 따로 set 키워드를 사용하여 값을 설정하지 않았기에 읽기 전용 인덱서입니다.
②를 보면 알 수 있듯이 클래스에 인덱서를 만들어 놓으면 개체이름[인덱스] 형태로 값을 호출할 수 있습니다.