- 공유 링크 만들기
- X
- 이메일
- 기타 앱
안녕하세요 메르세데스입니다. 이번시간에는 C#에서의 HashTable, Indexer를 알아보겠습니다.
이것도 역시 컬렉션중에 하나죠.. 지난시간에 했었던..stack,queue처럼 말이죠..
이름이... 무슨.. 알고리즘비슷한것 같네요..
1.Hashtable
빠르게 탐색이 가능한 특징이 있습니다. 또한 어떠한 형식으로도 키를 지정할 수 있는 특징이 있습니다
예를들어..
hash[1] = "test";
hash["asdf"] = "aaa";
hash["asdf"] = "aaa";
이런 표현이 가능하다는거죠..
탐색이 상당히 빠르다고하니.. 한번 써보시는것도 좋겠네요..
2.Indexer
이것은 인덱스를 이용해서 객체내의 데이터를 접근하게하는것입니다. 전시간에 프로퍼티를 배웠었는데 그것과 비슷하다고하네요
프로퍼티를 사용할때는..
get{...} set{...} 이런식으로 했었던기억이 나는데요..
식별자에 index라는 형식을 넣어서 하는것이 다릅니다.
예제를 만들어서 한번 돌려봤습니다.
이것도 마찬가지로 System.Collections를 추가해주셔야하겠죠..
클래스를 만들어서.. public int this[int index] 이렇게 인덱서를 만들어 넣어놓고요..
public int Length 로..또한 만들어 놨습니다.. 프로퍼티같네요..
그래서 메인클래스/메소드부분에서.. list객체를 생성하면서.. 마치 배열처럼 값을 넣었네요.. 위에서 그렇게 선언했기때문에 가능하겠죠..
또한.. 출력부분에서 public int Length로 만들어놓은것을 길이체크하는것으로 지정했네요.. 배열의 길이체크하는 것처럼.. MyList에서 프로퍼티로 만들어놓았네요.. 그래서 길이만큼 루프를 돌려서 list[i]으로 배열처럼 값을 얻어 옵니다. get { return array[index];} 얻어오는부분을 이렇게 선언했기 때문에 가능하겠죠..
근데 제가봤을때는.. 그냥 배열을 쓰는게 낫지 않을까하네요.. ^^; 복잡합니다
이상으로 C#의 HashTable, indexer를 알아봤습니다. 감사합니다.
댓글
댓글 쓰기