[C#] 문자열 배열을 List <string>로 변환

.ToList()배열 유형을 사용하여 수행 한이 예제를 보았습니다 . 이것은 .Net 3.5 이상 에서만 사용할 수 있는 것 같습니다 . 현재 업그레이드 할 수없는 ASP.NET 프로젝트에서 .NET Framework 2.0으로 작업 중이므로 다른 솔루션이 있습니까? 배열을 반복하고 각 요소를이 목록에 추가하는 것보다 더 우아한 것입니다 (문제는 없습니다. 학습 목적에 더 나은 솔루션이 있는지 궁금합니다)?

string[] arr = { "Alpha", "Beta", "Gamma" };

List<string> openItems = new List<string>();

foreach (string arrItem in arr)
{
    openItems.Add(arrItem);
}

이 방법으로 해야하는 경우 내 목록에 복사 한 후 느린 배열을 메모리에서 할당 해제하는 방법이 있습니까?



답변

의이 생성자 를 사용 하십시오List<T> . IEnumerable<T>인수로 받아들 입니다.

string[] arr = ...
List<string> list = new List<string>(arr);


답변

.Net 3.5에서는 LINQ 확장 방법을 사용하여 코드 흐름을 조금 더 향상시킬 수 있습니다.

사용법은 다음과 같습니다.

using System.Linq;

// ...

public void My()
{
    var myArray = new[] { "abc", "123", "zyx" };
    List<string> myList = myArray.ToList();
}

추신. 도 있습니다 ToArray()다른 방식으로 작동 방법.


답변