• 카테고리
    • 전체 글

    • 카테고리1
    • 카테고리2
    • 카테고리3
    • 카테고리4
  • 태그
  • 방명록

C#에서 operator [] 만드는 방법

기술자료/CPP 2007. 10. 15. 16:35
배열형태의 클래스를 만들다 보면, 항상 인덱스 오퍼레이터를 가지고 있다.
C++에서 종종 이 operator를 오버라이딩해서 구현하곤 했는데,
내가 기억하는 C++ operator 처리 방법때로는 계속 에러를 뿜어 댔다.
문법을 정확히 기억하지 못해 헤매다가,
MS에서 제공하는 csharp language specification.doc 라는 파일을 구해서
간신히 찾아서 해결했다.

C#에 있는 Property 문법을 사용해서 구현하면 operator [] 를 생각보다 간단하게
구현할 수 있었다.

public object this[string sKey]
{
     get
     {
          return this.GetData(sKey);
      }
      set
      {
          this.SetData(sKey, value);
      }
}


대략 코드를 보면 알 수 있긴 하지만,
키 코드는 this 이 부분이다. 즉 보통 배열의 인덱스를 사용하는 방법을 보게 되면,
 KK[i] = 44; 

라는 형식으로 KK 부분이 바로 해당 클래스의 변수 자체를 가르키게 된다. 그러므로 operator
에서 this를 쓴다. 그리고 난 뒤 , [  ] 안쪽에 무슨 값으로 구분하는지에 따라,
해당하는 변수를 구성해주면 된다.
만일 숫자인 경우 [int nIndex] 형식으로 써주면 되고, 지금 필자 같이 문자열이라면
[string sKey] 이런 식으로 쓰면 된다.

나머지는 C#의 get / set 의 구현 방법에 맞게 원하는 코드를 넣기만 하면 된다.


728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

250x250

블로그 내에 소스 코드 삽입 이사온 기념 스킨도... RSS 전문 기능 비활성화 관련. 스킨 바꾸어 보았습니다. 서버 파일 정리 좀 했습니다.

«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

수 매뉴얼 me2dayzm Google Apps Engine me2sms moss me2photo Azure 2010 것 java WSS 협업 e-book MOSS 2007 친구 오류 Buscuit SharePoint 블로그 windows twi2me Visual Studio 개발환경 불만 인터파크 Tutorial 지름신 비스킷 좀

  • Total :
  • Today :
  • Yesterday :

Copyright © 2015-2025 Socialdev. All Rights Reserved.

Copyright © 2015-2025 Socialdev. All Rights Reserved.

티스토리툴바