문자열 배열을 List <string>로 변환


162

.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);
}

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


1
arr가비지 수집기는 청소하는 것에 대해 걱정하지 마십시오 .
Mike Christensen

37
당신은 구체적으로. 그리고 나. 실제로 Jon Skeet만이 자신의 가비지 수집을 수행 할 수 있다고 생각합니다.
Mike Christensen

@MikeChristensen Jon Skeet의 의견을지지하지 못했습니다. lol
Ctrl S

답변:



26

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

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

using System.Linq; 

// ...

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.