Aracılığıyla paylaş


Veri türleri dönüştürme

Dönüştürme yöntemleri giriş nesnelerin türünü değiştirin.

LINQ sorguları dönüştürme işlemlerinde çeşitli uygulamaları yararlı olur.Bazı örnekler aşağıda verilmektedir:

Yöntemler

Aşağıdaki tabloda, veri türü dönüştürmeleri gerçekleştirmek standart sorgu işleci yöntemlerini listeler.

Adları "Farklı" başlayan bu tablodaki dönüştürme yöntemleri statik kaynak toplama türünü değiştirmek ancak yeniden numaralandırılmaz.Adları ile kaynağı derlemesini numaralandırır karşılık gelen koleksiyonuna maddeleri yerine koymak "" başlayın ve yöntemleri yazın.

Yöntem adı

Description

C# sorgu ifade sözdizimi

Visual BasicSorgu ifade sözdizimi

Daha Fazla Bilgi

AsEnumerable

Olarak yazılan giriş verir IEnumerable<T>.

Yoktur.

Yoktur.

Enumerable.AsEnumerable<TSource>

AsQueryable

(Genel) dönüştürür IEnumerable (Genel) IQueryable.

Yoktur.

Yoktur.

Queryable.AsQueryable

Cast

Belirtilen tür bir koleksiyon öðelerinin çevirir.

Açıkça yazılı aralığı değişkenini kullanın.Örne?in:

from string str in words

From … As …

Enumerable.Cast<TResult>

Queryable.Cast<TResult>

Sınıfını

Değerler, belirtilen türde almadaki yeteneklerine göre filtre uygular.

Yoktur.

Yoktur.

Enumerable.OfType<TResult>

Queryable.OfType<TResult>

ToArray

Bir koleksiyonu bir diziye dönüştürür.Bu yöntem, sorgu yürütme zorlar.

Yoktur.

Yoktur.

Enumerable.ToArray<TSource>

ToDictionary

Öğeleri içine koyar bir Dictionary<TKey, TValue> bir anahtar Seçici işlevine bağlı.Bu yöntem, sorgu yürütme zorlar.

Yoktur.

Yoktur.

Enumerable.ToDictionary

ToList

Bir koleksiyona dönüştüren bir List<T>.Bu yöntem, sorgu yürütme zorlar.

Yoktur.

Yoktur.

Enumerable.ToList<TSource>

ToLookup

Öğeleri içine koyar bir Lookup<TKey, TElement> (bir-çok sözlük) dayalı bir anahtar Seçici işlevdir.Bu yöntem, sorgu yürütme zorlar.

Yoktur.

Yoktur.

Enumerable.ToLookup

Sorgu ifade sözdizimi örneği

Aşağıdaki kod örneği açıkça yazılı aralık değişkeni C# [NULL]'ta kullanır veya From As yan tümcesinde Visual Basic yalnızca alt türü üzerinde bulunan üye erişmeden önce alt türüne atanamıyor.

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
class Plant
{
    public string Name { get; set; }
}

class CarnivorousPlant : Plant
{
    public string TrapType { get; set; }
}

static void Cast()
{
    Plant[] plants = new Plant[] {
        new CarnivorousPlant { Name = "Venus Fly Trap", TrapType = "Snap Trap" },
        new CarnivorousPlant { Name = "Pitcher Plant", TrapType = "Pitfall Trap" },
        new CarnivorousPlant { Name = "Sundew", TrapType = "Flypaper Trap" },
        new CarnivorousPlant { Name = "Waterwheel Plant", TrapType = "Snap Trap" }
    };

    var query = from CarnivorousPlant cPlant in plants
                where cPlant.TrapType == "Snap Trap"
                select cPlant;

    foreach (Plant plant in query)
        Console.WriteLine(plant.Name);

    /* This code produces the following output:

        Venus Fly Trap
        Waterwheel Plant
    */
}

Ayrıca bkz.

Görevler

Nasıl yapılır: bir ArrayList LINQ ile sorgulama

Başvuru

from yan tümcesi (C# Reference)

From yan tümcesi (Visual Basic)

System.Linq

Kavramlar

Standart sorgu işleçler genel bakış

LINQ sorgu ifadelerini (C# Programlama Kılavuzu)