Share via


Veri Türlerini Dönüştürme (Visual Basic)

Dönüştürme yöntemleri, giriş nesnelerinin türünü değiştirir.

LINQ sorgularındaki dönüştürme işlemleri çeşitli uygulamalarda kullanışlıdır. Aşağıda bazı örnekler verilmiştir:

Yöntemler

Aşağıdaki tabloda, veri türü dönüştürmeleri gerçekleştiren standart sorgu işleç yöntemleri listelemektedir.

Adları "Farklı" ile başlayan bu tablodaki dönüştürme yöntemleri, kaynak koleksiyonun statik türünü değiştirir ancak numaralandırmaz. Adları "Kime" ile başlayan yöntemler kaynak koleksiyonu numaralandırır ve öğeleri ilgili koleksiyon türüne koyar.

Yöntem Adı Açıklama Visual Basic Sorgu İfadesi Söz Dizimi Daha Fazla Bilgi
Asenumerable olarak IEnumerable<T>yazılan girişi döndürür. Uygulanamaz. Enumerable.AsEnumerable
Asqueryable Bir (genel) öğesini (genel) IEnumerableIQueryableöğesine dönüştürür. Uygulanamaz. Queryable.AsQueryable
Cast Bir koleksiyonun öğelerini belirtilen bir türe yayınlar. From … As … Enumerable.Cast

Queryable.Cast
Oftype Değerleri, belirtilen türe atanma yeteneklerine bağlı olarak filtreler. Uygulanamaz. Enumerable.OfType

Queryable.OfType
Toarray Bir koleksiyonu diziye dönüştürür. Bu yöntem sorgu yürütmeyi zorlar. Uygulanamaz. Enumerable.ToArray
Todictionary Öğeleri bir Dictionary<TKey,TValue> anahtar seçici işlevine yerleştirir. Bu yöntem sorgu yürütmeyi zorlar. Uygulanamaz. Enumerable.ToDictionary
Tolist Bir koleksiyonu öğesine List<T>dönüştürür. Bu yöntem sorgu yürütmeyi zorlar. Uygulanamaz. Enumerable.ToList
Tolookup Öğeleri bir anahtar seçici işlevine göre bire Lookup<TKey,TElement> çok sözlüğe yerleştirir. Bu yöntem sorgu yürütmeyi zorlar. Uygulanamaz. Enumerable.ToLookup

Sorgu İfadesi Söz Dizimi Örneği

Aşağıdaki kod örneği, yalnızca alt tür üzerinde kullanılabilen bir üyeye erişmeden önce bir türü alt türe atamak için yan tümcesini kullanır 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

Ayrıca bkz.