문제

변환하는 가장 쉬운 방법은 무엇입니까? BindingList<T> a T[] ?

편집 :이 프로젝트의 경우 3.0이므로 LINQ는 없습니다.

도움이 되었습니까?

해결책

LINQ가 있다면 (C# 3.0 + .NET 3.5 또는 Linqbridge) 당신이 사용할 수있는 .ToArray() - 그렇지 않으면 배열을 만들고 데이터를 복사하십시오.

T[] arr = new T[list.Count];
list.CopyTo(arr, 0);

다른 팁

.NET 2에서 사용해야합니다 .CopyTo() 당신의 방법 BindingList<T>

이 게시물을 .net2.0으로 태그를 붙였습니다. ToArray () 메소드가 있으므로 목록을 사용할 수 있습니다.

public T[] ToArray<T>(BindingList<T> bindingList) {
    if (bindingList == null)
        return new T[0];

    var list = new List<T>(bindingList);
    return list.ToArray();
}

참고 : 이것은 실제로 다른 구성원이 보여준 Copyto 솔루션보다 성능이 낮은 솔루션입니다. 대신 솔루션을 사용하면이 하나는 두 개의 배열, 결과와 하나는 목록 인스턴스 내부를 만듭니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top