본문 바로가기
코딩/C#

c#에서 Array 와 List의 차이점

by witn331ss 2023. 11. 13.

배열과 리스트의 가장 큰 차이점은 '동적'으로 크기할당이 가능한가? 이다.

 

배열은 동적으로 크기 할당이 불가능하고

리스트는 가능하다.

 

처음 배열을 생성할 때 n개의 크기로 형성한다면 n개 이상의 크기로는 늘릴 수 없다는 것을 의미한다.

리스트는 Add, Remove 매서드를 이용해 크기를 자유롭게 조정할 수 있다.

 

그러면 리스트를 사용하는 것이 무조건 옳은 것일까? 그건 또 아니다.

 

배열(Array) 연속된 메모리 공간으로 이루어져 있어 메모리 관리가 용이하다 배열의 값은 index로 이루어져 있어 빠르게 해당 값을 찾을 수 있다 동적할당이 불가능하다
리스트(List) 포인터를 사용해 다음 데이터의 주소 값을 가지고 있기에 데이터 추가 삭제가 편리하다 포인터를 사용해 데이터 주소값을 가지고 있어야만 하기에 불필요한 메모리가 추가로 사용된다(비효율) 리스트에는 인덱스가 없어 검색이 불리하다

 

 

해당 데이터를 할당 시 데이터의 크기가 정해져 있나 아닌가에 따라서 무엇을 사용할 것인지 판단해야 한다.

정해져있다면 배열을, 그렇지 않다면 리스트를 사용하는 것이 좋은 방법이다.

 

'코딩 > C#' 카테고리의 다른 글

c#에서 string 과 char의 차이점  (0) 2023.11.12
유니티를 위한 C# 기초 / 이벤트함수 실행순서  (0) 2023.11.12
.NET Framework가 뭐지  (0) 2023.11.10