관리 메뉴

도드넷

유니티 C# LIST ArgumentOutOfRangeException Argument is out of range 에러! 본문

창고/나만의 게임 제작

유니티 C# LIST ArgumentOutOfRangeException Argument is out of range 에러!

도드! 2016. 9. 7. 13:48



Marry Me AJ ♥


유니티 C# LIST ArgumentOutOfRangeException Argument is out of range 에러!


원인 : 불러낸 요소가 비어있습니다.


해결법 : 요소를 추가해 줍니다.


예시

"아이이이이" 라는 인트 리스트를 만들었습니다.



아이이이의 첫번째 요소를 불러내려고 했으나 ArgumentOutOfRangeException Argument is out of range

에러가 발생하며 실패합니다.



List Add 메소드를 추가해서 0을 추가할경우 에러없이 0이 출력됩니다.

(Array를 생각하고 0번 요소에 4를 집어넣는다던가 하는건 안됩니다. list에서 없는건 없는겁니다.)


아규맨트 아웃오브 레인지 익셉션이 발생하는 이유는 비어있는 리스트의 요소에 접근하려 했기 때문입니다.


고로, 반복문을 돌릴때



 이런 제한을 걸어주면 애초에 ayyyy의 존재하는 요소만큼만 실행되므로 에러를 방지할 수 있습니다.


그리고 또하나.


List VS Array


ㅋㅋㅋㅋㅋ


그냥 List 씁시다. Array 는 Add 나 Remove 같은 꿀 메소드를 사용할수없고 고정된 크기가 주워지므로

초과시 IndexOutOfRangeException 이라는 에러가 발생할수도 있습니다. ㅠㅠ 이거때문에 시스템 뒤엎어서 다 List로 만드는거 진행중.


C# List 와 Array 차이점?

- Array는 크기가 고정(fixed) 상태고 List는 크기가 고정되있지않고 자유롭다는게 다입니다. 

그럼 당연히 Add, Remove, Clear 같은 꿀 메소드 사용가능한 List 써야하는게 아닌가 생각해봅니다. ;ㅅ; 늅늅





반응형
Comments