2009-08-20 4 views
0

우리는 다음과 같은 형식을 사용 인덱서를합니다. 내 이해에 따르면, 우리는 색인 생성 된 propery 배열을 유지하고 있습니다.C#의 인덱서 사용

내 질문은 : 그것은 템플릿 특성

  1. 인가?
  2. 언제이 인덱서를 사용하여 높은 수준의 코드 최적화를 달성 할 수 있습니까?
+3

이 엄청나게 지배적 인 질문은 유성 과장 제목입니다. – Jimmy

+0

그것은 완벽하게 cromulent 제목이었다. – user7116

+0

이런 밝아. 사람들은 여기에 질문을하고 배우려고합니다. –

답변

2

코드 최적화가 아닙니다.
클래스에 보유하고있는 컬렉션에서 항목을 가져올 수있는 메서드를 클래스에 작성할 수 있습니다.

public DataType GetItemByIndex(int i) 
{ 
} 

인덱서는 사용자가 인스턴스를 배열이나 컬렉션으로 처리 할 수 ​​있도록 "구문 설탕"방식으로되어 있습니다.

1

이것은 템플릿 특성 아니다, 그것은 parameterful 속성입니다 - 그 매개 변수의 인수를 허용하는 속성입니다.

매개 변수없는 속성 대신 일반적으로 컴파일러에서 방출하는 get_Item() 메서드 대신 간단히 get_Item(Int32) 메서드를 사용합니다. 따라서 최적화를위한 많은 기회를 열지 않습니다.