VB.Net에서 배열 선언 방법

Dim foo(10) as Integer

기본적으로 위와 같이 선언하면 된다.

그런데 모듈에 구조체를 배열로 선언해서 쓰려고 하니 안되더라.
예를 들어
Structure foo
  Dim bar01 as Interger
  Dim bar02 as Interger
  Dim bar03 as Interger
End Structure

Structure bar
  public foo1() as foo
End Structure

위와 같이 선언해야하는데
vb.net에서는 선언할 때 배열 크기를 지정할 수 없더라
<VBFixArray(10)> foo1() as foo 처럼
해봐도 안되고
이거 해결책 찾다가 포기하고 노가다 코딩하다가
이래선 도저히 안되겠다 싶어 이것 저것 하다보니
어찌저찌 해결책이 나오더라

Structure foo
  Dim bar01 as Interger
  Dim bar02 as Interger
  Dim bar03 as Interger
End Structure

Structure bar
  <VBFixedArray(10)> Shared foo1() as foo = new foo(10) {}
End Structure

뭐 이딴식으로 선언하니 되더라.
이렇게 안하고 redim을 써도 되지만
일단 redim을 쓰는건 내가 좋아하는 방식이 아니고
redim을 쓸 경우 구조체 길이를 구할 때(len(bar))
구조체 길이를 제대로 못 가져오더라.

참고로 2차원 배열은
Dim foo1(,) as foo = new foo(10,10) {}
과 같은 식으로 쓰면 된다.

크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by shiftkey

2009/10/09 13:47 2009/10/09 13:47


블로그 이미지

Shiftkey가 살아가는 이런 저런 이야기......

- shiftkey

Notices

Archives

Authors

  1. shiftkey

Calendar

«   2012/05   »
    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 31    

Site Stats

Total hits:
160856
Today:
131
Yesterday:
156