개념
- Property를 사용하여 객체를 배열처럼 사용할 수 있음
- Property선언과 유사. this 키워드, 배열 첨자를 추가
- Indexer는 자신의 이름을 가질 수 없음
- Property와 마찬가지로 실제 값을 가지고 있지 않기 때문에 ref, out 수정자를 붙여서 파라미터를 넘길 수 없음
- Indexer는 Overload하여 사용 가능 (Property는 불가)
- static, void 키워드는 사용 불가
사용 목적
- 객체를 배열처럼 사용하기 위함
- C# List<>에 list[0], list[1]으로 접근할 때 [0]가 Property Indexer를 사용한 것임
사용 방법
class StringIndexer
{
public StringIndexer()
{
m_stringIndexer = new string[2];
}
private string[] m_stringIndexer;
public string this[int index] { get { return m_stringIndexer[index]; } set { m_stringIndexer[index] = value; } }
// 시그니처(타입)이 다르면 오버로딩 가능
}
public void Main()
{
StringIndexer indexerTest = new StringIndexer();
indexerTest[0] = "테스트 스트링1";
indexerTest[1] = "테스트 스트링2";
System.Console.WriteLine(indexerTest[0]);
}
RememberCook 9월 28일 정식 출시!
두번째 게임인 RememberCook이 출시되었습니다. 귀여운 캐릭터들이 나오는 간단한 게임이며 플레이어의 공간인지능력을 테스트하는 게임입니다. 아래 링크를 통해 다운 받으실 수 있으니 많은 관��
chipmunk-plump-plump.tistory.com
'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글
Clean Code (클린코드) (5) | 2020.05.03 |
---|---|
BackBuffer (백버퍼) (5) | 2020.05.01 |
Property (프로퍼티) (10) | 2020.04.29 |
var와 let의 차이 (10) | 2020.04.28 |
재귀호출 (2) | 2020.04.28 |