Compartilhar via


Converter tipos de dados

Métodos de conversão alterar o tipo de objetos de entrada.

Operações de conversão em consultas LINQ são úteis em uma variedade de aplicativos.A seguir estão alguns exemplos:

Métodos

A tabela a seguir lista os métodos de operador de consulta padrão que executam conversões de tipo de dados.

sistema autônomo métodos de conversão nesta tabela cujos nomes começam com "sistema autônomo" alterar o tipo estático da coleção de fonte, mas não enumerar.Digite os métodos cujos nomes começam com "Para enumerar a coleção de fonte e coloque os itens na coleção correspondente".

Nome do método

Descrição

Sintaxe de expressão de consulta translation from VPE for Csharp

Visual Basic Sintaxe de expressão de consulta

Mais informações

AsEnumerable

Retorna a entrada digitada sistema autônomo IEnumerable<T>.

Não aplicável.

Não aplicável.

Enumerable.AsEnumerable<TSource>

AsQueryable

Converte um (genérico)IEnumerable a (genérico) IQueryable.

Não aplicável.

Não aplicável.

Queryable.AsQueryable

Elenco

Projeta os elementos de uma coleção para um tipo especificado.

Use uma variável de intervalo explicitamente digitado.Por exemplo:

from string str in words

From … As …

Enumerable.Cast<TResult>

Queryable.Cast<TResult>

OfType

Filtros de valores, dependendo de sua capacidade de ser convertido em um tipo especificado.

Não aplicável.

Não aplicável.

Enumerable.OfType<TResult>

Queryable.OfType<TResult>

ToArray

Converte uma coleção em uma matriz.Esse método força a execução da consulta.

Não aplicável.

Não aplicável.

Enumerable.ToArray<TSource>

ToDictionary

Coloca os elementos em um Dictionary<TKey, TValue> baseado em uma função do seletor de chave. Esse método força a execução da consulta.

Não aplicável.

Não aplicável.

Enumerable.ToDictionary

ToList

Converte uma coleção em um List<T>. Esse método força a execução da consulta.

Não aplicável.

Não aplicável.

Enumerable.ToList<TSource>

ToLookup

Coloca os elementos em um Lookup<TKey, TElement> (um dicionário de um-para-muitos) com base em uma função do seletor de chave. Esse método força a execução da consulta.

Não aplicável.

Não aplicável.

Enumerable.ToLookup

Exemplo da sintaxe de consulta expressão

O exemplo de código a seguir usa uma variável de intervalo explicitamente digitado na translation from VPE for Csharp ou o From As cláusula Visual Basic Para converter um tipo para um subtipo antes de acessar um membro que está disponível somente no subtipo.

Class Plant
    Public Name As String
End Class

Class CarnivorousPlant
    Inherits Plant
    Public 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
    */
}

Mais informações sobre como converter tipos de dados

Consulte também

Conceitos

Visão geral de operadores de consulta padrão

Expressões de consulta LINQ (Guia de programação C#)

Referência

de cláusula (Referência C#)

A partir da cláusula (Visual Basic)

System.Linq