Enumerable.ToArray<TSource>(IEnumerable<TSource>) メソッド
定義
IEnumerable<T> から配列を作成します。Creates an array from a 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
の要素の型。The type of the elements of source
.
パラメーター
- source
- IEnumerable<TSource>
配列の作成元の IEnumerable<T>。An IEnumerable<T> to create an array from.
戻り値
- TSource[]
入力シーケンスの要素を含む配列。An array that contains the elements from the input sequence.
例外
source
が null
です。source
is null
.
例
次のコード例では、を使用し ToArray てクエリの即時評価を強制的に実行し、結果の配列を返す方法を示します。The following code example demonstrates how to use ToArray to force immediate query evaluation and return an array of results.
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>) クエリの即時評価を強制的に実行し、クエリ結果を含む配列を返します。The ToArray<TSource>(IEnumerable<TSource>) method forces immediate query evaluation and returns an array that contains the query results. クエリ結果のキャッシュされたコピーを取得するために、このメソッドをクエリに追加することができます。You can append this method to your query in order to obtain a cached copy of the query results.
ToList は同様の動作を持ちますが、配列ではなくを返し List<T> ます。ToList has similar behavior but returns a List<T> instead of an array.