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) {}
과 같은 식으로 쓰면 된다.
Posted by shiftkey


