1. ASP에서 사용하는 배열은 Java에서 사용하는 배열과 크기 계산 방식이 다르다.
ex - ASP)
Dim aryList(3, 5) // 4x6 크기의 배열 생성
ex - Java)
int A[ ][ ] = new Int[3][5]; // 3x5 크기의 배열 생성
크기가 다른 이유?
ASP에서는 (3, 5) 크기의 배열을 0~3, 0~5까지 생성하고
Java에서는 (3, 5) 크기의 배열을 0~2, 0~4까지 생성한다.
즉, 선언 시 크기로 지정한 숫자도 배열의 대상으로 포함한다.
2. Java의 배열과는 다르게 배열 크기를 실행 도중 변경할 수 있다.
ex - ASP)
Dim aryList(2)
aryList(0) = 0
aryList(1) = 1
aryList(2) = 2
ReDim aryList(3) // 배열의 크기를 0~3으로 변경
Response.Write aryList(0) // ReDim을 통한 배열 크기 조정 시 기존 데이터 모두 파손됨. 그러므로 출력 오류.
그렇다면 데이터를 그대로 보존하고 크기를 재생성 하는 방법은 무엇일까?
ReDim Preserve aryList(3) // 배열의 크기를 0~3으로 변경하면서, 데이터는 그대로 보존함.
Response.Write aryList(0) // 데이터가 보존되어 있으므로 출력값은 0.
이러한 특성을 이용해 배열을 List 컬렉션 형태로 생성할 수 있다.
Function resizeArray(aryList)
Dim length : length = Ubound(aryList)
length = length + 1
ReDim Preserve aryList(length)
resizeArray = aryList
End Function
해당 함수를 사용해 배열의 길이가 최대치에 도달했을 경우 배열의 길이를 늘려 컬렉션 형태로 사용할 수 있게 된다.
'Workspace > ASP Classic' 카테고리의 다른 글
[ASP Classic] 모바일 입학원서 기능 추가/변경점 정리 (0) | 2021.01.09 |
---|---|
개인사이트를 만들었습니다. [Zulu] (0) | 2020.12.09 |
[ASP Classic] 대학교 모바일 입학원서 개발 (0) | 2020.11.22 |
신규 개발 계획 - Daily' Support (0) | 2020.10.16 |