C#에서 ArrayList를 일반 배열(Array)로 변환하려면 ToArray() 메서드를 사용하면 됩니다. 이 메서드는 ArrayList에 저장된 요소들을 지정한 타입의 배열로 손쉽게 복사해 줍니다.
ArrayList 생성하기
먼저 변환할 ArrayList를 선언하고 요소를 추가합니다.
ArrayList arrList = new ArrayList();
arrList.Add("one");
arrList.Add("two");
arrList.Add("three");ToArray() 메서드로 변환하기
ArrayList를 문자열 배열(string[])로 변환하려면 ToArray() 메서드에 원하는 타입을 전달하고, 결과를 해당 배열 타입으로 캐스팅합니다.
arrList.ToArray(typeof(string)) as string[];
전체 예제 코드
아래는 위 과정을 하나의 프로그램으로 정리한 완전한 코드입니다.
using System;
using System.Collections;
public class Program {
public static void Main() {
ArrayList arrList = new ArrayList();
arrList.Add("one");
arrList.Add("two");
arrList.Add("three");
// ToArray() 메서드로 string 배열로 변환
string[] arr = arrList.ToArray(typeof(string)) as string[];
foreach (string res in arr) {
Console.WriteLine(res);
}
}
}실행 결과
one two three
참고 사항
ToArray(typeof(string))은 object[] 형태를 반환하기 때문에 as string[] 캐스팅이 필요합니다. 만약 캐스팅 없이 사용하면 컴파일 오류가 발생할 수 있으니 주의하세요. 또한 .NET 2.0 이상에서는 타입 안정성이 보장되는 제네릭 컬렉션인 List<string>을 사용하는 것이 권장됩니다. List<T> 역시 동일하게 ToArray() 메서드를 제공하며, 별도의 캐스팅 없이 바로 배열을 얻을 수 있습니다.