메서드를 호출하려고하지만 배열을 전달해야한다는 메시지가 표시됩니다. Convert.ToArray() 메서드가 없으며 캐스팅이 작동하지 않습니다.목록을 배열로 변환하려면 어떻게해야합니까?
어떻게 목록을 배열로 변환 할 수 있습니까?
메서드를 호출하려고하지만 배열을 전달해야한다는 메시지가 표시됩니다. Convert.ToArray() 메서드가 없으며 캐스팅이 작동하지 않습니다.목록을 배열로 변환하려면 어떻게해야합니까?
어떻게 목록을 배열로 변환 할 수 있습니까?
목록 개체에서 ToArray() 메서드를 호출 할 수 있습니다. 설명서에 대한 링크를 제공했습니다.
이 문서에서는보다 전문화 된 linq 네임 스페이스와 달리 모든 버전의 .NET에서 사용할 수있는 System.Collections.Generic 네임 스페이스를 참조합니다. 동일한 기능을 수행하지만 성능 비교에 대한 자세한 내용은 여기에 나와 있지 않습니다.
MSDN documentation on List.ToArray Method
네임 스페이스 : System.Collections.Generic는
어셈블리 : (mscorlib.dll에서의) mscorlib에는
는공공 T [] ToArray()는
당신은 System.Linq.Enumerable.ToArray
때와 수 :
using System.Linq;
...
var b = a.ToArray();
이
yourList.ToArray()
는 Enumerable에서 확장 메서드의 일부를 시도
당신은에 (질문이 ArrayList에 태그가) Arraylists를 사용하지 말아야합니다 처음. C# 2 및 제네릭에서는 더 이상 사용되지 않습니다 (예 : 동적으로 크기가 지정된 정수 컬렉션의 경우 List<int>
사용). 그런 다음 C# 3.5 이상을 사용하는 경우 위에서 설명한 .ToArray()
확장 메서드를 사용해야합니다. 최신 C#이 없다면
ArrayList arraylist= new ArrayList();
arraylist.Add(1);
arraylist.Add(2);
arraylist.Add(3);
int[] mydatas = (int[]) arraylist.ToArray(typeof(int));
나는 것을 시도 하지만 준 나에게 오류가 발생했습니다 : "형식 또는 네임 스페이스 이름 'Linq'이 네임 스페이스 'System'에 존재하지 않습니다." 그것은 "링크"일까요? –
@Lonnie "System.Core.dll"을 참조하지 않으면이 오류가 발생합니다. – Gleno