次の方法で共有


データ型の変換 (Visual Basic)

変換メソッドは、入力オブジェクトの型を変更します。

LINQ クエリでの変換操作は、さまざまなアプリケーションで役立ちます。 以下はその例です。

メソッド

次の表には、データ型の変換を実行する標準クエリ演算子メソッドの一覧が示されています。

名前が "As" で始まるこのテーブルの変換メソッドは、ソース コレクションの静的な型を変更しますが、列挙しません。 名前が "To" で始まるメソッドは、ソース コレクションを列挙し、各項目を対応するコレクション型に変換します。

メソッド名 説明 Visual Basic のクエリ式の構文 詳細情報
AsEnumerable IEnumerable<T> として型指定された入力を返します。 適用されません。 Enumerable.AsEnumerable
AsQueryable (ジェネリック) IEnumerable を (ジェネリック) IQueryable に変換します。 適用されません。 Queryable.AsQueryable
キャスト コレクションの要素を指定した型にキャストします。 From … As … Enumerable.Cast

Queryable.Cast
OfType 指定した型にキャストできるかどうかに応じて値をフィルター処理します。 適用されません。 Enumerable.OfType

Queryable.OfType
ToArray コレクションを配列に変換します。 このメソッドはクエリの実行を強制します。 適用されません。 Enumerable.ToArray
ToDictionary キー セレクター関数に基づいて、Dictionary<TKey,TValue> に要素を変換します。 このメソッドはクエリの実行を強制します。 適用されません。 Enumerable.ToDictionary
ToList コレクションを List<T> に変換します。 このメソッドはクエリの実行を強制します。 適用されません。 Enumerable.ToList
ToLookup キー セレクター関数に基づいて、Lookup<TKey,TElement> (一対多の辞書) に要素を変換します。 このメソッドはクエリの実行を強制します。 適用されません。 Enumerable.ToLookup

クエリ式の構文例

次のコード例では、サブタイプでのみ使用できるメンバーにアクセスする前に、 From As 句を使用して型をサブタイプにキャストします。

Class Plant
    Public Property Name As String
End Class

Class CarnivorousPlant
    Inherits Plant
    Public Property TrapType As String
End Class

Sub Cast()

    Dim plants() As Plant = {
        New CarnivorousPlant With {.Name = "Venus Fly Trap", .TrapType = "Snap Trap"},
        New CarnivorousPlant With {.Name = "Pitcher Plant", .TrapType = "Pitfall Trap"},
        New CarnivorousPlant With {.Name = "Sundew", .TrapType = "Flypaper Trap"},
        New CarnivorousPlant With {.Name = "Waterwheel Plant", .TrapType = "Snap Trap"}}

    Dim query = From plant As CarnivorousPlant In plants
                Where plant.TrapType = "Snap Trap"
                Select plant

    Dim sb As New System.Text.StringBuilder()
    For Each plant In query
        sb.AppendLine(plant.Name)
    Next

    ' Display the results.
    MsgBox(sb.ToString())

    ' This code produces the following output:

    ' Venus Fly Trap
    ' Waterwheel Plant

End Sub

こちらも参照ください