C# List 는 동적으로 할당하는 가변배열(동적배열)이라고 볼 수 있는데 좀 더 강력하다.
List 클래스는 닷넷 프레임워크를 바탕으로 만들어져 있어서 배열로는 할 수 없는 다양한 것을 할 수 있다.
List <T> 변수명 = new List <T>();
T에 원하는 타입을 지정하면 치환이 가능하다.
int, float, string 외에 어떠한 형태의 타입도 지정이 가능하다.
보통 예제가 콘솔에 뿌리는 형태인데 난 그냥 폼에 뿌리는 방식으로 해봤다.
실행결과는 아래와 같다.
텍스트박스에 뿌리기 위해 StringBuilder 를 이용하여 값을 합쳐나갔고,
리스트를 삭제, 삽입하는 결과는 메시지박스에 표시되도록 했다.
소스코드를 복사해서 http://colorscripter.com/ 에 붙여넣기를 하고 언어를 C#을 선택한 다음, 클립보드에 복사를 선택하여 붙여넣기를 하면 된다.
배열과 달리 리스트는 원하는 곳에 데이터를 추가(Insert)할 수도 있다.
필요할 때마다 Add 를 사용해서 리스트를 추가해주고
Remove 나 RemoveAt 을 이용하여 리스트를 삭제할 수 있다.
삭제가 되면 리스트의 index 는 자동으로 하나씩 당겨진다.
배열에서 카운트는 number.Length 인데, 리스트에서는 number.Count 이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | private void button2_Click(object sender, EventArgs e) { int[] arr = new int[3]; // New array with 3 elements. arr[0] = 2; arr[1] = 3; arr[2] = 5; List<int> number = new List<int>(arr); // 배열을 리스트에 복사 } private void button3_Click(object sender, EventArgs e) { List<int> number = new List<int>(); number.Add(10); // 리스트 추가 number.Add(20); // 리스트 추가 number.Add(30); // 리스트 추가 number.Add(40); // 리스트 추가 int[] arr = number.ToArray(); // 일반 배열로 반환 } | cs |
List 객체는 어떤 유형이든 저장할 수 있다.
List<T> MSDN : https://msdn.microsoft.com/ko-kr/library/6sh2ey19%28v=vs.110%29.aspx
에서 다양한 기능을 확인할 수 있다.
'C# > 문법 및 기능' 카테고리의 다른 글
C# 오버라이딩(Overriding) 개념 이해 (1) | 2015.12.21 |
---|---|
C# 메소드 오버로딩 개념잡기 (0) | 2015.12.21 |
C# 배열 개념 이해 및 실전 응용 (0) | 2015.12.13 |
C# Trackbar 기능 및 타이머 연결 (0) | 2015.12.08 |
C# 문자열 숫자형식 포맷팅 String.Format (0) | 2015.12.06 |