인덱서(프로그래밍)
Indexer (programming)![]() |
개체 지향 프로그래밍에서 인덱서를 사용하면 특정 클래스 또는 구조의 인스턴스를 [1]배열과 동일하게 인덱싱할 수 있습니다.연산자 오버로드의 한 형태입니다.
실행
인덱서는 get 및 set 접근기를 통해 구현됩니다.operator[]
이러한 속성은 속성과 비슷하지만 정적이지 않고 인덱서의 접근자가 매개 변수를 사용한다는 점이 다릅니다.get 및 set 접근자는 인덱서 선언의 매개 변수 목록을 사용하여 메서드로 호출되지만 set 접근자에는 여전히 암묵적인 액세스 권한이 있습니다.value
파라미터를 지정합니다.
예
다음은 클래스에서 인덱서를 사용하는 C#의 예입니다.
학급 델 패밀리 { 일반의 델 패밀리(파라미터 스트링[] p멤버) { 패밀리 멤버 = 신규 목록.< >스트링> ( ) ; 패밀리 멤버.추가 범위(p멤버); } 사적인 목록.< >스트링> 패밀리 멤버; 일반의 스트링 이것.[인트 색인] { // get accessor(액세서 취득) 얻다 { 돌아가다 패밀리 멤버[색인]; } // 설정 접근자: 세트 { 패밀리 멤버[색인] = 가치; } } 일반의 인트 이것.[스트링 값] { // 값별 인덱스 가져오기(첫 번째 요소 발견) 얻다 { 돌아가다 패밀리 멤버.FindIndex(m => m == 값); } } 일반의 인트 길이 => 패밀리 멤버.세어보세요; }
사용 예:
무효 주된() { 변화하다 도 패밀리 = 신규 델 패밀리("존', 제인); 위해서 (인트 i = 0; i < > 도 패밀리.길이; i++) { 변화하다 멤버 = 도 패밀리[i]; 변화하다 색인 = 도 패밀리[멤버]; // 이 경우 i와 동일하지만 doeFamily를 값으로 검색할 수 있는 인덱서 오버로드를 보여줍니다. 콘솔.기입선($"{member}는 {name of(doeFamily)의 멤버 번호 {index}입니다.}"); } }
이 예에서는 인덱서를 사용하여 n번째 위치의 값을 가져온 다음 해당 값에 의해 참조되는 리스트의 위치를 가져옵니다.코드의 출력은 다음과 같습니다.
John은 doFamily의 멤버 번호 0이고 Jane은 doFamily의 멤버 번호 1입니다.
「 」를 참조해 주세요.
레퍼런스
- ^ jagadish980 (2008-01-29). "C# - What is an indexer in C#". http://forums.sureshkumar.net/forum.php: Bulletin: SURESHKUMAR.NET FORUMS. Archived from the original on September 22, 2009. Retrieved 2011-08-01.
{{cite web}}
:외부 링크
(도움말)location=
- ^ "C# Interview Questions". http://www.dotnetfunda.com/: .net Funda. Retrieved 2011-08-01.
{{cite web}}
:외부 링크
(도움말)location=