C# 배열을 List<T>로 변환하기
C# 개발을 하다 보면 배열에 담긴 요소들을 그대로 일반 목록(List)에 옮겨야 하는 경우가 자주 발생합니다. 이 글에서는 int 배열의 요소를 List<int>로 변환하는 가장 기본적인 방법을 단계별로 살펴보겠습니다.
1단계: 배열 선언
먼저 변환할 배열을 선언합니다.
int[] arr = { 23, 66, 96, 110 };
2단계: 빈 리스트 생성
배열의 요소를 담을 새로운 리스트를 생성합니다.
var list = new List<int>();
3단계: Add 메서드로 요소 추가
Add 메서드와 for 반복문을 사용하여 배열의 각 요소를 리스트에 하나씩 추가합니다.
for (int i = 0; i < arr.Length; i++) {
list.Add(arr[i]);
}
전체 예제 코드
지금까지의 과정을 하나로 합친 완전한 코드는 다음과 같습니다.
using System;
using System.Collections.Generic;
public class Program {
public static void Main() {
int[] arr = { 23, 66, 96, 110 };
var list = new List<int>();
for (int i = 0; i < arr.Length; i++) {
list.Add(arr[i]);
}
foreach(int res in list) {
Console.WriteLine(res);
}
}
}
실행 결과
23 66 96 110
더 간결한 대안 방법
반복문 없이 한 줄로 처리하고 싶다면 AddRange 메서드나 LINQ의 ToList() 확장 메서드를 활용할 수 있습니다.
// 방법 1: AddRange 사용 var list = new List<int>(); list.AddRange(arr); // 방법 2: LINQ ToList() 사용 using System.Linq; var list = arr.ToList();
특히 요소 수가 많은 배열이라면 AddRange가 내부적으로 필요한 용량을 미리 확보하므로, 반복문으로 하나씩 추가하는 방식보다 성능 면에서 더 유리할 수 있습니다.