[C#] ArraryList VS. List<T>

|


ArraryList 와 List<T> 중에서 어떤 것을 사용할까?



C#에서 두가지 타입의 차이점을 무엇일까요?


우선 결론 부터 말하자면 List<T>를 사용해야한다.

ArrayList는 C#에서 제네릭이 없었을 때 사용하던 타입이다. 제네릭을 지원하지 않고 Object를 저장하기 때문에 Boxing과 UnBoxing 오버헤드가 발생하게 된다.


레거시 코드들을 보면 ArrayList를 사용한 것을 볼 수가 있는데, 무조건 List<T> 타입으로 변경하지 말고 신규로 작성하거나 기존의 코드에서  Boxing/Unboxing하면서 속도 문제가 발생할 때만 변경해주는 것이 안정성 면에서 좋다.

(참고: http://hongjinhyeon.tistory.com/90)




And