인덱서란? ------------------------------------------------------------------------------------------------------------------------
인덱서란 내부에 존재하는 맴버변수나 혹은 인스턴스를 배열과 같이 취급하는 것을 인덱서라고 한다.
문법적으로는 C#의 속성의 배열 버전이라고 보면 된다 보인다.
class SampleCollection<T>
{
private T[] arr = new T[100]; -> 어라 클래스의 맴버변수를 내부에서 그냥 초기화 해버린다. 가능했구나...
private int c = 0; -> 이렇게 굳이 할당을 하지 않아도 가능하다.
public T this[int i] -> 이녀석이 인덱서이다. this구문을 무조건 붙여줘야 한다.
{
get
{
return arr[i]; -> 내부 인스턴스의 값을 배열적인 측면으로 접근이 가능하다.
}
set
{
arr[i] = value; -> 마찬가지로 대입도 가능하다.
}
}
}
// This class shows how client code uses the indexer
class Program
{
static void Main(string[] args)
{
SampleCollection<string> stringCollection = new SampleCollection<string>();
stringCollection[0] = "Hello, World"; -> 객체에서 즉각 접근이 가능해진다.
stringCollection[1] = "World, Hello"; -> 배열이니 인덱스를 바꾸는 것도 마찬가지.
System.Console.WriteLine(stringCollection[1]);
}
}
'게임개발공부 > C#공부' 카테고리의 다른 글
클래스와 구조체, 참조형과, 값형 (0) | 2013.12.30 |
---|---|
변수가 사용됐다? 초기화의 순서는? (0) | 2013.12.30 |
구조체 (0) | 2013.12.30 |
추상 클래스와 인터페이스의 차이란? (0) | 2013.12.29 |
추상 클래스 봉인 클래스 (0) | 2013.12.29 |