Unity3d C# toolba 사용해보기

C# 컬렉션(collection)의 ArrayList 를 알아보자!



 C#에서 Collection을 알아보도록 하겠습니다.  정의하기를... 같은성격을 띄는 데이터모음을 담는 자료구조다! 라고 말하고있습니다.

배열과 가장 닯아있는 collection중에 ArrayList가 있습니다. 이 것을 사용하려면..

using System.Collections;를 추가해 주신다음에 사용하실 수 있습니다.

델파이에서 TStringList와 비슷한 것 같네요.. 

가장 큰 특징이라면..  용량을 지정할 필요가 없이 추가할때마다 알아서 자동으로 늘어난다는것입니다. 편리하겠죠..
또한.. 형식에 얽메이지않고..  여러가지 형태의 자료형을 담을 수 있습니다. (Object형이기에..)

하지만  object형식으로 자료를 Boxing, UnBoxing을 이용하여 데이터가 처리되기때문에 데이터가 많아질 수록 성능저하가 일어날 수 있다고 하네요..

선언형식과 값을 넣고 빼는작업을 하려면 아래와 같이 하시면됩니다.


C# ArrayList



생각보다 간단하죠..?

하지만 데이터가 많아지면.. 성능저하가 일어날 수 있다고하니.. 사용하는데 망설여지네요..
int형뿐만아니라.. string 형의 데이터도 위와같이 하면.. 에러없이 잘 들어갑니다.

자주사용하는.. 메소드가 3개인데요.. Add(), RemoveAt(), Insert() 이렇습니다.

예제를 통해 한번 돌려보아서.. 살펴보겠습니다.

C# ArrayList Example


순차적으로 숫자를 0~4까지 집어넣었고..   인덱스값 2에 해당하는.. 2를제거하고..( 0,1,2,3,4 죠..인덱스는..)
2번인덱스에 "테스트"를 집어넣어보기도하고.. add를 이용해서 값을 추가해보기도 하였습니다.

*Add()의 경우 가장마지막리스트 아래에 추가하는것입니다.
*RemoveAt() 는.. ()안에 입력한 인덱스번호에 해당하는 것을 지워버리는거죠..
*Insert() 는... ( a,b )이런식으로하여..  인덱스 a에   b의 값을 넣어버리는겁니다.  기존에 입력받은 값들은 뒤로 밀려버리죠..

이런 특징이 있으니 잘 기억하셔야 겠네요.. 이상으로 C# 컬렉션(collection)의  ArrayList 를 알아봤습니다.









댓글