ASP에서 사용하는 배열은 다른 언어에서 사용하는 개념과 조금 다르다.
보통 arrNum(3) 이라고 하면

arrNum(0), arrNum(1), arrNum(2)

이렇게 3개의 공간이 생기게 되는데 ASP에서는 하나의 공간이 더 생겨서

arrNum(0), arrNum(1), arrNum(2), arrNum(3)

이렇게 된다.

또 처음 선언할때 Dim arrNum(3) 이라고 했으면 선언할때 크기가 할당이 되어 사이즈 조절을 할 수가 없다.
그래서 동적으로 배열을 선언할 경우는

Dim arrNum()

ReDim arrNum(3)
arrNum(0)=100
arrNum(1)=200
arrNum(2)=300
arrNum(3)=400

이렇게 입력을 해두고 크기를 조절할 때는

ReDim arrNum(4)

arrNum(4)=500

이런식으로 해줘야 하는데 이때 위의 예제처럼 새로생긴 arrNum(4)의 공간에 500이라는 값을 넣게 되면 기존에 넣어놨던 arrNum(0) ~ arrNum(3) 에 들어있던 값들이 싹다 날아간다.
기존에 있던 값들을 그대로 둔 상태에서 값을 추가할때는

ReDim Preserve arrNum(4)

arrNum(4)=500

이런식으로 새로 정의할 때 Preserve 라는 녀석을 같이 선언해줘야 한다.

출처 : http://blackapple.kr/diary.php?tb_name=ws_study&wb_idx=22

+ Recent posts