Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 배열을 같은 요소를 가진 List로 변환하는 방법

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가 내부적으로 필요한 용량을 미리 확보하므로, 반복문으로 하나씩 추가하는 방식보다 성능 면에서 더 유리할 수 있습니다.