'
//모든 컨트롤 갯수 만큼 for문을 돌림, 체크박스 뿐아니라 버튼, 라벨까지 전부 포함
부분에서 checkBoxIndex를 사용하여 cbs배열에 값을 넣었습니다.
그럼 만약 체크박스가 3개였다면
checkBoxIndex는 현재 3이 되는거죠
그런데 문제는
에러 나는 부분에서
checkBoxIndex를 초기화하지 않고 그냥 사용하고 있다는 점입니다.
위에서 말했다시피, cbs 배열의 길이는 현재 3이고
checkBoxIndex 의 값 또한 3입니다.
에러나는 부분의 코드를 보면
cbs[checkBoxIndex++]로 되어있는데 이건 결국 cbs[3]이란 소리가 되죠
C#의 경우, 배열의 인덱스는 0 ~ n-1 까지입니다.
즉, 배열의 인덱스 범위를 넘어서는 부분을 읽으려고 해서 에러가 발생하는거죠.
파일이 존재하는지 체크하는 부분 바로 위에
checkBoxIndex 를 0으로 다시 초기화하고 쓰면 우선 에러는 나타나지 않을 것입니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
cbs 배열의 길이는 3인데
//모든 컨트롤 갯수 만큼 for문을 돌림, 체크박스 뿐아니라 버튼, 라벨까지 전부 포함
부분에서 checkBoxIndex를 사용하여 cbs배열에 값을 넣었습니다.
그럼 만약 체크박스가 3개였다면
checkBoxIndex는 현재 3이 되는거죠
그런데 문제는
에러 나는 부분에서
checkBoxIndex를 초기화하지 않고 그냥 사용하고 있다는 점입니다.
위에서 말했다시피, cbs 배열의 길이는 현재 3이고
checkBoxIndex 의 값 또한 3입니다.
에러나는 부분의 코드를 보면
cbs[checkBoxIndex++]로 되어있는데 이건 결국 cbs[3]이란 소리가 되죠
C#의 경우, 배열의 인덱스는 0 ~ n-1 까지입니다.
즉, 배열의 인덱스 범위를 넘어서는 부분을 읽으려고 해서 에러가 발생하는거죠.
파일이 존재하는지 체크하는 부분 바로 위에
checkBoxIndex 를 0으로 다시 초기화하고 쓰면 우선 에러는 나타나지 않을 것입니다.
댓글 달기