Compartilhar via


Como: Usar implicitamente tipados variáveis locais e arrays em uma expressão de consulta (guia de programação translation from VPE for Csharp)

Você deve usar variáveis locais do tipo implícito para armazenar tipos anônimo.Você também pode usá-los em qualquer Outros situação na qual você deseja que o compilador para determinar o tipo de uma variável local (em outras palavras, uma variável declarada no escopo do método).Os exemplos a seguir mostram como usar as variáveis digitadas implicitamente em ambos os cenários.

Tipo implícito variáveis locais são declaradas usando a varpalavra- chave contextual.Para obter mais informações, consulte Digitados implicitamente variáveis locais (guia de programação translation from VPE for Csharp) e Arrays implicitamente tipados (guia de programação translation from VPE for Csharp).

Exemplo

O exemplo a seguir mostra como usar o var palavra-chave em um cenário comum onde é necessário: Quando você está criando e executando uma expressão de consulta que produz uma sequência de tipos anônimo.Observe que, nesse cenário, não apenas a variável de consulta, mas também da variável de iteração no foreach demonstrativo deve ser digitada implicitamente, usando var.

private static void QueryNames(char firstLetter)
{
    // Create the query. var is required because
    // the query produces a sequence of anonymous types.
    var studentQuery =
        from student in students
        where student.FirstName[0] == firstLetter
        select new { student.FirstName, student.LastName };

    // Execute the query.
    foreach (var student in studentQuery)
    {
        Console.WriteLine("First = {0}, Last = {1}", student.FirstName, student.LastName);
    }
}

O exemplo posteriormente neste tópico mostra sistema autônomo usar o var palavra-chave sistema autônomo uma conveniência sintática mesmo quando não for necessário.Para ilustrar essa construção, a variável de consulta é digitada implicitamente.Da variável de iteração no foreach demonstrativo explicitamente é digitada, mas também podem ser declarada usando var. Lembre-se, var propriamente dito não é um tipo, mas em vez disso, uma instrução para o compilador para inferir e atribuir o tipo.

var queryID =
    from student in students
    where student.ID > 111
    select student.LastName;

foreach (string str in queryID)
{
    Console.WriteLine(str);
}

Consulte também

Conceitos

Guia de Programação C#

Expressões de consulta do LINQ (guia de programação translation from VPE for Csharp)

Referência

Métodos de extensão (guia de programação translation from VPE for Csharp)

var (translation from VPE for Csharp Reference)

Outros recursos

Language-Integrated Query (LINQ)