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

C#에서 List 컬렉션을 배열로 변환하는 방법 – ToArray() 활용 가이드

C#에서 List<T> 컬렉션을 배열로 변환하려면 ToArray() 메서드를 사용하면 됩니다. 이 메서드는 리스트에 담긴 모든 요소를 새로운 배열에 복사하여 반환해 주므로, 몇 줄의 코드만으로 간단하게 변환 작업을 처리할 수 있습니다.

1. 리스트 컬렉션 생성하기

먼저 문자열 타입의 리스트 컬렉션을 선언하고 요소를 추가합니다.

List<string> myList = new List<string>();
myList.Add("RedHat");
myList.Add("Ubuntu");

2. ToArray() 메서드로 배열 변환하기

리스트 객체에서 ToArray() 메서드를 호출하면 해당 리스트가 문자열 배열로 변환됩니다.

string[] str = myList.ToArray();

전체 예제 코드

아래는 위 과정을 하나로 묶은 완성된 코드입니다. 리스트 출력, 배열 변환, 그리고 변환된 배열의 출력까지 순서대로 확인할 수 있습니다.

using System;
using System.Collections.Generic;

public class Program {
    public static void Main() {

        // 리스트 컬렉션 생성 및 요소 추가
        List<string> myList = new List<string>();
        myList.Add("RedHat");
        myList.Add("Ubuntu");

        Console.WriteLine("리스트 출력...");
        foreach(string value in myList) {
            Console.WriteLine(value);
        }

        // 리스트를 배열로 변환
        Console.WriteLine("배열로 변환 중...");
        string[] str = myList.ToArray();

        // 변환된 배열 출력
        foreach(string s in str) {
            Console.WriteLine(s);
        }
    }
}

실행 결과

리스트 출력...
RedHat
Ubuntu
배열로 변환 중...
RedHat
Ubuntu

참고 사항

ToArray()는 호출될 때마다 새로운 배열을 생성한다는 점을 기억하세요. 따라서 변환된 배열을 수정하더라도 원본 리스트에는 영향을 주지 않으며, 두 데이터 구조는 서로 독립적으로 동작합니다.

또한, 이미 존재하는 배열의 특정 인덱스 위치부터 요소를 복사하고 싶다면 CopyTo() 메서드를 대안으로 활용할 수 있습니다. 단순히 전체 리스트를 새 배열로 만드는 경우라면 ToArray()가 가장 간결하고 직관적인 선택입니다.