다음을 통해 공유


Enumerable.ToArray<TSource>(IEnumerable<TSource>) 메서드

정의

IEnumerable<T>을 사용하여 배열을 만듭니다.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static cli::array <TSource> ^ ToArray(System::Collections::Generic::IEnumerable<TSource> ^ source);
public static TSource[] ToArray<TSource> (this System.Collections.Generic.IEnumerable<TSource> source);
static member ToArray : seq<'Source> -> 'Source[]
<Extension()>
Public Function ToArray(Of TSource) (source As IEnumerable(Of TSource)) As TSource()

형식 매개 변수

TSource

source 요소의 형식입니다.

매개 변수

source
IEnumerable<TSource>

배열을 만드는 데 사용할 IEnumerable<T>입니다.

반환

TSource[]

입력 시퀀스의 요소가 들어 있는 배열입니다.

예외

source이(가) null인 경우

예제

다음 코드 예제에서는 를 사용하여 ToArray 즉시 쿼리 평가를 강제 적용하고 결과 배열을 반환하는 방법을 보여 줍니다.

class Package
{
    public string Company { get; set; }
    public double Weight { get; set; }
}

public static void ToArrayEx1()
{
    List<Package> packages =
        new List<Package>
            { new Package { Company = "Coho Vineyard", Weight = 25.2 },
              new Package { Company = "Lucerne Publishing", Weight = 18.7 },
              new Package { Company = "Wingtip Toys", Weight = 6.0 },
              new Package { Company = "Adventure Works", Weight = 33.8 } };

    string[] companies = packages.Select(pkg => pkg.Company).ToArray();

    foreach (string company in companies)
    {
        Console.WriteLine(company);
    }
}

/*
 This code produces the following output:

 Coho Vineyard
 Lucerne Publishing
 Wingtip Toys
 Adventure Works
*/
Structure Package
    Public Company As String
    Public Weight As Double
End Structure

Sub ToArrayEx1()
    ' Create a list of Package values.
    Dim packages As New List(Of Package)(New Package() _
     {New Package With {.Company = "Coho Vineyard", .Weight = 25.2},
      New Package With {.Company = "Lucerne Publishing", .Weight = 18.7},
      New Package With {.Company = "Wingtip Toys", .Weight = 6.0},
      New Package With {.Company = "Adventure Works", .Weight = 33.8}})

    ' Project the Company values from each item in the list
    ' and put them into an array.
    Dim companies() As String =
    packages _
    .Select(Function(pkg) pkg.Company) _
    .ToArray()

    ' Display the results.
    Dim output As New System.Text.StringBuilder
    For Each company As String In companies
        output.AppendLine(company)
    Next
    Console.WriteLine(output.ToString())
End Sub

' This code produces the following output:
'
' Coho Vineyard
' Lucerne Publishing
' Wingtip Toys
' Adventure Works

설명

메서드는 ToArray<TSource>(IEnumerable<TSource>) 즉시 쿼리 평가를 강제 적용하고 쿼리 결과가 포함된 배열을 반환합니다. 쿼리 결과의 캐시된 복사본을 가져오기 위해 이 메서드를 쿼리에 추가할 수 있습니다.

ToList 은 비슷한 동작을 List<T> 가지고 있지만 배열 대신 을 반환합니다.

적용 대상